Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

send a command "hold button" #37

Open
sadden3194 opened this issue Aug 3, 2018 · 2 comments
Open

send a command "hold button" #37

sadden3194 opened this issue Aug 3, 2018 · 2 comments

Comments

@sadden3194
Copy link

hello :)

is there a way to send a button which is hold 4 seconds?

"command": [
    {
      "command": "tv_menu",
    }
  ]
@bradskeds
Copy link

Also updated Issue #34 with the below:

I'm not a node.js developer, and this is not the correct place to fix it, I think it should properly be fixed in the node-appletv package and not homebridge-apple-tv package. However, I tested an update to homebridge-apple-tv/helpers/sendCommand.js

case "hold_menu":
return device.sendKeyPress(1, 0x86, true);
return setTimeout(device.sendKeyPress(1, 0x86, true), 3000);

this uses the sendKeyPress from the node-appletv project directly, and allows you to set a timeout on the value. You can modify this for any button, but the above is for the menu button.

The proper place to fix it would be to create a new function in node-appletv to create a copy of sendKeyPressAndRelease and make a new function such as sendKeyPressHoldAndRelease that adds a delay between the press and release of the command in node-appletv.

But, just making the code change above seemed to work for my limited use. I'd like to get a proper fix into a pull request to add to node-appletv. But, i don't have time to do so as this is just a hobby project. But, I wanted to add here in case it was helpful.

@bradskeds
Copy link

Actually the line should be
return setTimeout(device.sendKeyPress(1, 0x86, false), 3000);
not
return setTimeout(device.sendKeyPress(1, 0x86, true), 3000);
but it didn't seem to matter much in my testing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants