DreymaR/BigBagKbdTrixXKB

Ok for me to manually Implement Angle Mod?

Opened this issue · 1 comments

Good day sir.

I got everything setup by running the install script, and I could access Colemak in my appropriate language 👍 The only thing I was missing was the Angle mod (shifting the keys on zxcvb to the left, to use the iso specific key to the right of left-shift).

I found in the issues here that one has to "Set the keyboard model appropriately" which is then clarified later on here that this means an OS specific setting on ones system, and not a configuration in this repo / the setup (surely easily confused with the "model" -m option in the scripts). Long story short: I cannot seem to do this on my system (Pop OS 22.04 on a Dell Inc. XPS 13 9380) and I did look quite a bit. You comment on this difficulty in these later distros later in the thread 👍 Not only can I not find such an option anywhere, nor by searching, but even if I did find it I have no clue what I'd end up putting there! All this pc105 hardware code nonsense will be the death of me! 💀


Manually fixing it

The below is surely only suitable on my personal system for the exact setup that I want on my particular hardware!

Soo I manually changed the XKB file that gets installed to add the Angle mod 👍 (Located at /usr/share/X11/xkb/symbols/colemak for me).

This at line 160 (before the curly close)

       include "colemak(cmk_ed_dh_manual_angle_fix)"

This just below that (after the curly close)

        hidden partial alphanumeric_keys
        xkb_symbols "cmk_ed_dh_manual_angle_fix" {
            include "colemak(manual_angle_on_iso)"
            include "colemak(cmk_ed_hm)"
        };

        hidden partial alphanumeric_keys
        xkb_symbols "manual_angle_on_iso" {
            key <AD05> { [             b,             B,  enfilledcircbullet,          Greek_beta ] }; // QWE T Cmk G
            key <AC05> { [             g,             G,                 eng,                 ENG ] }; // QWE G Cmk D
            

            key <LSGT> { [             z,             Z,               U0292,               U01B7 ] }; // QWE Z Cmk zZ ʒƷ
            key <AB01> { [             x,             X,              dagger,        doubledagger ] }; // QWE X Cmk xX †‡
            key <AB02> { [             c,             C,           copyright,                cent ] }; // QWE C Cmk cC ©¢
            key <AB03> { [             d,             D,                 eth,                 ETH ] }; // QWE G Cmk dD ðÐ
            key <AB04> { [             v,             V,            division,         Greek_gamma ] }; // QWE V Cmk vV ÷γ
            key <AB05>	{ [            less,          greater,      backslash,            notsign ]	};
        };

What's the point of this issue?

I just have two points

  1. Oh grand wizard of keyboard codes and layouts: can you foresee an issue for myself by doing this? 🤔 I am on Christmas break now, so I haven't tried it on an external keyboard, but I presume it'd work 😅

  2. If there is no issue: then I leave this here for the archives so someone may follow in my steps, towards the goal of grand masters of the martial art known as Colemak 🖖

Making an Angle (or Wide or whatever) mod integral to the definition of the Colemak layout will be fine. The reason I didn't do so, was to keep things modular. Different users want different combos of mods. This is in line with Linux philosophy.

Having the "geometric" ergonomic mods as models allows their use with any layout, in any combination available. You could run AngleWide QWERTY with this setup. So you probably see the advantages to it.

Too bad you couldn't make it work. When I made this setup, there was a GUI choice of keyboard model available, at least in Ubuntu. Since that they've removed the GUI choice for some stupid reason, probably to "keep things simple for users". That sucks. But for most, the setxkbmap command still works.