1

I'm trying to create these shortcuts:

  • Remap ctrl+c,v,x to ctrl+j,k,q because I'm using Dvorak layout.
  • alt+i,j,k,l to arrow keys. And it must work with the other modifiers, like shift+alt+l -> shift+right.

I used to have this on Windows, configured with a really great app AutoHotKey. But on Linux, surprisingly, there are no such straightforward options.

What doesn't work:

  • Regular settings. I can't even change copy-paste there, and even if I could, there would be another problem (happened on MacOS): Basically, I need to silence ctrl+j and emit ctrl+c, not just do copy when I press ctrl+j. This is because other apps don't expect such weird combinations and can have some other functionality assigned to it that would conflict.
  • Third party apps:
    • AutoKey: It doesn't silence the shortcuts used to execute scripts. So if I write a script to emit Up when I press alt+i, the system will see alt+i+Up.
    • Ktrl: It was working (with two very annoying bugs), but I just got a new laptop and installed newer version of Ubuntu, and it doesn't work here now. Plus I really don't want to deal with those bugs anymore.
    • I have looked into other apps and couldn't find anything else

1 Answers1

1

You can use the remapper deamon keyd for this purpose. See this answer for installation, usage and tips.

After installation, use the config below. It makes left Control activate a layer, customcontrol, while held, where every thing you press is be default modified by Control (the :C), except for the keys remapped in the layer---in this case x, c and v which are remapped to Control + q etc. Same-same for left Alt.

[ids]

[main]

leftcontrol = layer(customcontrol) leftalt = layer(customalt)

[customcontrol:C]

x = C-q c = C-j v = C-k

[customalt:A] i = up k = down j = left l = right

Rasmus
  • 8,375
  • 1
    I ended up using kmonad, actually. I should've posted the update here but forgot... This one looks interesting too, I'll check it out – splaytreez Mar 01 '23 at 13:01