kiibohd / controller

Kiibohd Controller
GNU General Public License v3.0
807 stars 270 forks source link

Combination trigger behaves unexpectedly #194

Open JBonifacio opened 7 years ago

JBonifacio commented 7 years ago

I set up the following in a KLL file: U["LSHIFT","RSHIFT"] + U"ESC" : '~';

When using the trigger, if I let go of LSHIFT or RSHIFT, the backtick (`) repeats until another key is pressed.

combination-sticking

In certain fields, it looks like the input is acting oddly. For example, in Chrome, I get this result:

combination-input

Edit: Just to be clear, the second gif in the address bar, I am letting go of the shift key and it just keeps outputting tildes.

jceaser commented 7 years ago

I had something similar when I set up U"RSHIFT","RSHIFT" : ')';

I wonder if there is something to do with shift key timing.

JBonifacio commented 7 years ago

So I just made some changes I saw on the input.club forums to see if I could get it to work. I modified the scan_map kll to add the blockHold() and blockKey() capabilities. I added this to my default layout:

# Macro
# Example of blocking ESC (0x29) when holding either Shift key
# Currently, kll only supports numbers (this may be fixed in a future kll spec)
U["LShift", "RShift"] : blockHold( 0x29 );
U"Esc" : blockKey( 0x29 );

# Now that Esc is blocked, it's possible to use this macro
U["LShift", "RShift"] + U"Esc" : '~';

I'm able to get it to compile, but know LSHIFT and RSHIFT codes are sending out for anything but the ESC/Tilde macro I added.

I'm not sure if I'm missing something.