Ergo keyboard enthusiast.

Daily drives a couple of Dometyl generated dactyl keyboards (3x6+2+6 keys per side), using Optimot layout.

  • 0 Posts
  • 6 Comments
Joined 1 year ago
cake
Cake day: June 14th, 2023

help-circle
  • Unless I am mistaken, keyd is a kernel level input remapper (like kmonad and kanata). So it is a lower level component: even if you use keyd, xkb will still be there, downstream. The situation would be roughly the same as with xmodmap… except it won’t even be enough!

    Indeed, this method consists in mapping scan codes to other scan codes. At this level, there is not the notion that a key produces a character yet. Hence concretely, kernel level input remapping (like QMK, btw) cannot be used to map a key to a character that is not already declared in a higher level component (usually in xkb or xcompose, but it can also be a another component using X11 API, such as xmodmap, for instance).

    Edit: to make it more clear, in the end, it is the application who decides what character should be displayed. Typically, for doing so, the application relies on libraries from its toolkit, which implement either X11 or Wayland text input protocols; using standard keycode-to-character translation libraries (i.e., most notably, libxkb). To add new characters in a keymap, these characters need, in the end, to be produceable as the output of these libraries.


  • My first ergo split was a Kimiko (roughly the same as a Sofle v2) which also had this num row I quickly stopped using (I ended up affecting it to F keys, still useless anyway; even for switching VTs I tended to use F keys from one of the layers).

    My current daily driver is a 3x6 dactyl with a 4th key under middle and ring finger columns and… a 6 keys (2 rows) thumb clusters. All 6 keys can easily be reached because of the 3D shape. I would say only a couple of keys among the 50 are not really useful, hence it is the sweet spot for me now (for a sculpted keyboard anyway; for a flat one, I have to make it work with smaller thumb clusters).

    Anyway the similar layout of the thumb clusters and similar goals (Linux user; typing in French) made me want to comment :).


  • Very nice keyboard!

    For French, I like having a 4th alphabetical key under the middle finger (for instance, move the innermost thumb key a little upward so that is contiguous with the middle finger column). This allows having all the most common characters in the main layer (also using most of the outer pinky columns for this purpose).

    Otherwise does this 2 row cluster work well for you? (In particular the upper row)

    Concerning the technical trick with xmodmap, I have the feeling you are adding much complexity just for the sake of using qmk’s graphical configurator. Since you are already using xkb (obviously, since there isn’t any serious alternative under X11 or Wayland!), why not configure everything in xkb layout? This way you can configure any existing character without any strange workaround or third party tool! Then your use qmk just for fancy stuff (layers, combos, hold-tap, … ).

    The usual argument against xkb is that you cannot bring your keyboard around and have it ready to use on any machine. But since you are using xmodmap, I assume it is not a concern for you, is it?



  • All my Dactyls are hotswap, so I cannot compare… But it seems that, as expected, stuff is more likely to move and break solder joints when you have hotswap sockets.

    A cure for this is to make sure everything is securely glued to the case, but the point of hotswapping, in my case, was the ability to hotswap the whole matrix wrt the case so I can iterate case versions until I print the one with the best parameters.

    So after the prototyping phase is over, I encourage you to glue everything you can glue, and screw everything you can (some per-key pcbs, such as the su120, have screw holes… but probably it is even better to use flexible per-column pcbs, instead of per-key, as solder joints that do not exist cannot be broken!).