jasonrudolph / keyboard

⌨ Toward a more useful keyboard

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Suggestions : SuperDuper mode with pure Karabiner-elements

narze opened this issue · comments

I would like to suggest using only Karabiner-elements for activating SuperDuper mode.

First of all, I am a big fan of this mode (Since the old karabiner with xml config). I have tried your current solution with Hammerspoon too (1-2 years back), but it does not work quite well for me. So I have switched out to the hardware solution with QMK

Recently I have come back to Karabiner-elements again and found Goku which compiles to KE json file, and SuperDuper mode is way easier to do, modify, and fast compare to software layer like Hammerspoon. The only downside I found is there will be no HUD display on the screen.

I believe that my solution will solve most of the issues eg. #40, #53, and #59 since it is on Karabiner-elements only.

This is my Goku config file
https://github.com/narze/laptop/blob/master/etc/karabiner.edn#L45

which compile into this big JSON file, see the line 666 and below
https://gist.github.com/narze/a464ed35b37349ca7a572a6b1b5f6ea6#file-karabiner-json-L666

You can extract only superduper mode from the json and try it.

I accidentally pressed enter while test typing the title, sorry for that 😂

Thanks for the suggestion, @narze.

I implemented (S)uper(D)uper mode in Hammerspoon back when macOS Sierra came out and 1) it didn't support the old Karabiner app, and 2) Karabiner Elements didn't yet support complex configurations like (S)uper(D)uper mode. /xref #10

Now that Karabiner Elements is capable of supporting complex configurations, I'm open to replacing the Hammerspoon implementation with a Karabiner Elements implementation.

I've added the "help wanted" label to this issue. If someone is interested in submitting a pull request for this change, I'll be happy to review it.

@jasonrudolph I can do that for you. Should it be included in karabiner.json or better as a separate json file?