I have the Happy Hacking keyboard, which only has one pair of extra modifiers in addition to ctrl and meta. I want to use these for super and hyper, and I don't want one for super and the other for hyper. An ideal solution would be to make hyper the default, which would be useful in Emacs, and make a shifted hyper turn into a super. Thus, for instance, super+shift would be produced by: pressing shift, pressing hyper, releasing shift, pressing shift. Ideally, shift+hyper should immediately forget the shift, so that shift+super were also produced by: pressing lshift, pressing hyper, pressing rshift. hyper+shift would be produced by pressing hyper before shift.

I have tried to do this with xkb, but it is poorly documented and very complicated. One problem is that simply putting hyper on level 1 and super on level 2 will by default produce hyper+super on level 1. Is there a way?

  • I also have an HHKB, and my ideal way is to program it onto the board itself using a Hasu controller (geekhack.org/index.php?topic=71517.0). A little involved, but that way it's actually programmed into the board and not reliant on the OS. – bgregs Dec 19 '18 at 12:21
  • @bgregs, looks like fun but time-consuming. Can you do what I want with that? – Toothrot Dec 19 '18 at 12:30
  • I have used it on a previous board for remapping two key presses to a single action (section 2.1.2 in docs). Basically the board becomes completely programmable (seriously, you can even map mouse events to the keys). Here's the Hasu helpful key editor (or you can do it by hand): tmk-kbd.com/tmk_keyboard/editor/unimap/?hhkb Here's the docs: github.com/tmk/tmk_keyboard/blob/master/tmk_core/doc/… – bgregs Dec 19 '18 at 12:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.