WhiteMagic / JoystickGremlin

A tool for configuring and managing joystick devices.
http://whitemagic.github.io/JoystickGremlin/
GNU General Public License v3.0
313 stars 45 forks source link

List of All Available Keys for Button Assingments #450

Open Knight26 opened 1 year ago

Knight26 commented 1 year ago

I would like to see an option to select a keyboard function from a list of all functions supported by the OS when mapping a button to the keyboard. I use an 84-key layout keyboard so I don't have all the physical keys available to record a key press. I imagine this would also be helpful for anyone who uses a gaming laptop with a reduced keyboard layout, as well. Razer's Synapse implements this quite well. I can use it as an intermediary along with my Tartorus Pro to record key presses that I don't have physical keys on my keyboard for but it is a clunky method. It would be better if it was a native function within Gremlin.

WhiteMagic commented 1 year ago

This comes up every now and then and wouldn't be bad to add, but is lower on the priority list as it requires quite a lot of work both behind the scenes and on the UI side to make this actually work seamlessly across all the bits that would need to use it. I think the windows screen keyboard is also usable as a way to input keyboard presses to Gremlin.

Stout001 commented 1 year ago

So how do I record = / or any other key that need the shift-key? If I try to record = I get LShift+0 which is if course not recognized by IL-2 Sturmovik as = .

WhiteMagic commented 1 year ago

If a game requires actual "characters" then that's just broken, as everything is key based. Some games do not use keyboard layouts and as such use, for example, the US keyboard layout to resolve what key label is shown. So on a German layout "=" is produced by the combination of Shift + 0, however, on a US layout it is produced by pressing the key that produces "`" on a German keyboard. So they are two different keys physical keys which is what Gremlin under the hood uses. The "character" shown is just a consequence of the keyboard layout being used.

So when mapping keys all that matters is that the right key is pressed not what the symbol on it shows, thus shift is not a key that ever enters the equation.

Stout001 commented 1 year ago

Thanks for clearifying. I'm Swedish and the German keyboard has a similar layout. It's a pita with a different language setup using the default key setup in IL-2 as the keys don't match. Tilde, backslash and so on doesn't respond correctly. Now, I don't actually use the keyboard at all (all in with other hardware and IR) but thought as a novice JG user that I should map keys in Gremlin instead of using the in game default setup. But I am making it more complicated than it needs to be just for the fun of it and that I like to experiment to bring up the perfect solution. I might as well just assign the hardware directly in IL-2 GB as I always used to do, now when they implemented "modes" and because I can't "record keys" = or tilde in Joystick Gremlin. I could how ever just change the keyboard layout but why should I have to do that? A simple cut and paste would be neat to use .-)