• You are not logged in.

    kmonad

    • Started by stevep99
    • 2 Replies:
    • Reputation: 78
    • From: UK
    • Registered: 14-Apr-2014
    • Posts: 785

    I finally got around to experimenting a bit with kmonad.

    It's a really nice tool. It is easy to remap keys in a consistent and reliable way as it works at low level using input keycodes. That makes it great for remapping both basic layouts and modifier keys, allowing you to implement complete extra layers such as Extend. Obviously, because it works at low level, it doesn't really give you a way to have extra symbols/foreign languages etc unless those symbols are already in your default keymap. But it does support a whole bunch of tap/hold/timeout features which make things like dual-role home-row modifiers possible (I haven't fully explored these yet).

    Here is a basic configuration which gives you Colemak-DH plus Extend:
    https://github.com/stevep99/kmonad/tree … r/stevep99

    On Linux, using kmonad has both advantages and disadvantages compared to using the XKB method. I'll try using my kmonad config for a few days instead of XKB to see if I notice any problems.

    Last edited by stevep99 (03-Oct-2020 13:48:55)

    Using Colemak Mod-DH with some additional ergonomic keyboard mods.

    Offline
    • 2
    • Reputation: 139
    • From: Oslo, Norway
    • Registered: 13-Dec-2006
    • Posts: 4,920

    This looks very interesting! Seems like a way to get the BigBag solutions back on MacOS?

    Are there any shortcomings pertaining to the Extend implementation, or can you pretty much do the same Extend tricks as my XKB files? Could you have several Ext layers? Can you go even further like I've done for EPKL?

    *** Learn Colemak in 2–5 steps with Tarmak! ***
    *** Check out my Big Bag of Keyboard Tricks for Win/Linux/TMK... ***

    Offline
    • 0
    • Reputation: 78
    • From: UK
    • Registered: 14-Apr-2014
    • Posts: 785

    I have been using kmonad for the last couple of days, what I have done is set my XKB keyboard configuration to standard GB qwerty with no extras, so I that can be sure kmonad is doing all the work.

    So far I haven't found found any issues with Extend. Home row modifiers work well. I also see no reason why you couldn't have arbitrarily many Extend layers, and defining them as press-hold, tap, or toggle layers as you see fit. It also works in console mode of course which is another advantage, and doesn't seem to cause the weird side effects like the Google Spreadsheet ISO_Level5_Shift problem.

    However, although it seems good for Extend, there are drawbacks with standard mappings characters and symbols. I have made a basic symbols layout to mimic my AltGr layer, but this is somewhat more limited, as I can't include arbitrary unicode characters. Another thing I noticed is it may mess up key bindings in games. For example, I tested it with Factorio - this is a game that ordinarily detects your keymap, and if you are using Colemak, will automatically set direction keys to WARS etc. But of course this breaks when using my kmonad config, as I'm using qwerty according to the OS.

    I suspect the optimal situation might be to use XKB for base layout and extra character/symbols layers, but use kmonad for Extend or non-glyph functionality. But that means having to rely two pieces of software instead of one, which isn't really ideal either. I'll continue experimenting and report back if I find anything else noteworthy.

    Using Colemak Mod-DH with some additional ergonomic keyboard mods.

    Offline
    • 2