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

Ability to add global hotkeys #1505

Open
silid opened this issue Mar 17, 2021 · 7 comments
Open

Ability to add global hotkeys #1505

silid opened this issue Mar 17, 2021 · 7 comments
Labels
area/internal Related to an internal action or function of Companion. Enhancement New feature or request Help Wanted Extra attention is needed

Comments

@silid
Copy link
Contributor

silid commented Mar 17, 2021

Describe the feature
Have companion register global shortcuts for certain actions.

Usecases
Will allow use of regular programmable keyboards of the POS style or num key pads to be used with companion actions.

Proposal
I propose adding a new input device that would always be present (like the emulator) and the config would allow you to register keyboard shortcuts to companion buttons.

Eg. Ctrl+F12 => 1.1

I am happy to begin looking at this if it seems a reasonable approach.

@josephdadams josephdadams changed the title Ability to add global shortcuts Ability to add global hotkeys Mar 17, 2021
@josephdadams
Copy link
Member

I think this could be problematic to support across multiple operating systems. Also, many people run Companion on one computer but access the GUI from another. So it would only work when sitting at the computer that Companion is running on.

A couple of ideas:

  • Use the hotkeys already supported on the Emulator page - it must be kept open and in focus
  • Create a separate program designed to run on your intended OS that interfaces with the keyboard and then sends TCP commands to Companion

@josephdadams josephdadams added Enhancement New feature or request Help Wanted Extra attention is needed area/internal Related to an internal action or function of Companion. labels Mar 17, 2021
@silid
Copy link
Contributor Author

silid commented Mar 17, 2021

Electron already supports global hotkeys cross-platform so I don't think It would be a problem, and as you point out, the emulator page is required to be in focus which defeats the purpose.

I did consider a separate program that goes with the keyboard - but I notice that xkeys are being integrated directly so I thought I'd follow suit.

@Julusian
Copy link
Member

I am also thinking that this might be better to have as a separate program.
I can see the value in having it integrated, but it will add quite a bit of complexity to add the ui to configure it. I also expect that quite a few people will want to be able to use it from another machine, and having it in the ui could be confusing as some users will expect it to work from other machines.

Also, I am hoping to split companion into the electron launcher and a node process, because electron gives unending issues with some dependencies. That would make this a bit messier to do directly in companion, but not impossible.

Maybe this should be done in https://github.com/julusian/companion-remote ? I have been thinking about looking to transfer that to the bitfocus org, and to link to it from inside companion. Keeping it to a single tool could be beneficial for usability

@silid
Copy link
Contributor Author

silid commented Mar 18, 2021

@Julusian Good idea re: companion remote - I'll take a look.

@McHauge
Copy link
Member

McHauge commented Mar 18, 2021

Maybe this should be done in https://github.com/julusian/companion-remote ? I have been thinking about looking to transfer that to the bitfocus org, and to link to it from inside companion. Keeping it to a single tool could be beneficial for usability

It would be nice to have it "easy to find" by having a link to a page for the remote. And then have it on its own that way. It's just simpler to link to and find that way. maybe even as a product on the webpage alongside companion itself for simplicity when referencing.

@Johnnyreyman
Copy link

Johnnyreyman commented Nov 4, 2021

Perhaps implement https://github.com/Enerccio/companion-modules-os-keyboard as a module?

@BillNeeTheScienceBee
Copy link

BillNeeTheScienceBee commented Dec 10, 2022

I know I'm a little late but any news on this? Or even if there's a way for me to whack it in myself like, I don't mind. I want to be able to activate a bind quickly as sometimes I can get sudden coughing fits and need to mute. Being able to hit a button on my main, gaming keyboard to mute my microphone quickly is essential.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/internal Related to an internal action or function of Companion. Enhancement New feature or request Help Wanted Extra attention is needed
Projects
None yet
Development

No branches or pull requests

6 participants