pixeltris / GK6X

Configure keys, macros, and lighting on GK6X keyboards (GK64, GK84, GK61, etc)
Other
826 stars 100 forks source link

TempSwitchLayer behaviour different with Fn key #182

Closed f7urry closed 2 years ago

f7urry commented 2 years ago

i was remap like this

[Layer1] CapsLock:TempSwitchLayer2

[Layer2,FnLayer1] Up:PageUp Down:PageDown Left:Home Right:End

when i press Capslock+Shift+Right it mark to end of line, and when i release Capslock the Shift key has been released too its different with Fn+Shift+Right was mark to end of line too, but when release FnKey, the Shift still registered i dont know its because firmware or something

its happened to when using Ctrl+TempSwitchLayer2+Esc should be registered Ctrl+BackTick but when the order changed TempSwitchLayer2+Ctrl+Esc its registered as it should

pixeltris commented 2 years ago

I think this is a firmware limitation unfortunately. I have a GK84 and a GK68.

GK84 (older firmware) is pretty versatile, as long as I'm holding down a modifier key it'll keep it registered, regardless of what temp switch layer I'm pressing / releasing.

GK68 (newer firmware) on the other hand releases held modifiers when entering a temp switch layer, as well as when leaving a temp switch layer.

You might have to get creative with your mappings or stick to the FN key.

Related issue https://github.com/pixeltris/GK6X/issues/66

f7urry commented 2 years ago

do you have any idea to custom the firmware GK68? https://github.com/wgwoods/gk64-python this is only for GK64 right?

pixeltris commented 2 years ago

I don't think anyone has made custom firmware for GK6X keyboards and it would be a big undertaking to do so. See some discussion here https://github.com/pixeltris/GK6X/issues/148

Unfortunately for anything other than basic mappings you're better off buying a keyboard with your desired layout which supports QMK.

f7urry commented 2 years ago

well, i think i figure out some trick like this, its resolving my problem, the shift still registered till i release the key

[Macro(HoldShift,0,ReleaseKeyToStop,2)] Down:TempSwitchLayer2+LShift

[Layer1] CapsLock:TempSwitchLayer2 LShift:Macro(HoldShift)

[Layer2,FnLayer1,FnLayer2] LShift:Macro(HoldShift)