qmk / qmk_configurator

The QMK Configurator
http://config.qmk.fm
695 stars 348 forks source link

Add support for dual variable Layer keycodes #117

Open drashna opened 6 years ago

drashna commented 6 years ago

Namely LT(x, kc), and LM(x, mod). Both require 2 variables (layer and mod/keycode).

IIRC, configurator doesn't support multiple inputs, yet

newtonapple commented 6 years ago

Is there a timeline for supporting LT & LM? I personally use LT a lot, it'd be great to be able use these through the graphical configurator, like how they have it on qmkeyboard.cn or kbfirmware.com.

yanfali commented 6 years ago

Nope, sorry. You can kind of use it now using ANY. It should work, though I haven't tested it recently.

On Sat, Oct 27, 2018, 16:52 David Dai notifications@github.com wrote:

Is there a timeline for supporting LT & LM? I personally use LT a lot, it'd be great to be able use these through the graphical configurator, like how they have it on qmkeyboard.cn or kbfirmware.com.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/qmk/qmk_configurator/issues/117#issuecomment-433664735, or mute the thread https://github.com/notifications/unsubscribe-auth/ACK5U8mrIJfp6UOOHz_3amxoS93r0F68ks5upPHOgaJpZM4UAdx9 .

newtonapple commented 6 years ago

How does ANY work? Do you just type in, for example: LT(1,KC_SPC), in the text box? When I tried that, it gave me the following error:

Traceback (most recent call last):
  File "./qmk_compiler.py", line 178, in compile_firmware
    create_keymap(result, layers)
  File "./qmk_compiler.py", line 96, in create_keymap
    keymap_c = generate_keymap_c(result, layers)
  File "./qmk_compiler.py", line 44, in generate_keymap_c
    layer_keys = ', '.join(layer)
TypeError: sequence item 64: expected str instance, NoneType found
dtanner commented 5 years ago

FWIW the ANY config worked fine for me using as an example LT(1,KC_ESCAPE).
Maybe it's been fixed since the above error was noted.

yanfali commented 5 years ago

Thanks for confirming

yanfali commented 5 years ago

Half of this is now available via LT 971dee0f8200e2bfde5f595a5599aff3246d1927, are people still looking for LM support?

KawOwl commented 5 years ago

I'm still looking for LM support.I use dvorak layout and I create a map from dvorak to qwerty in a layer. LM(mapLayer, ctrl) is so much convenient to use all keyboard shortcut.

yanfali commented 5 years ago

@PhoenSXar hi there. This is a pretty tricky feature to implement in the UI because it's combinatorial. I have some ideas on how to do it, but it would require quite a lot of effort for something I'm not sure is used that frequently. I'll keep thinking about it though.

e.g. LM(4, MOD_LCTRL | MOD_LSFT)

My recommendation at this time is use the ANY keycode and just input what you need.

KawOwl commented 5 years ago

@yanfali Thanks, I will use the ANY keycode to make it work. As I examine this repo in greater detail, maybe I will submit a PR that time. By then, let's thinking about it :).