📱 Erkannter Endgerättyp 🔇 Sound ist aus. ⛱️ Tag und Nacht. Verbraucht keinen oder einen 🍪.
guest
Login 🍪 0 Anzahl Ihrer gespeicherten Kekse, führt zur Keksdose

Blackbird (Lenovo T480)

This laptop can (to some extend) be mapped to colemak

/usr/share/X11/xkb/symbols/decolemak

// Keyboard layouts for Germany.

default
xkb_symbols "basic" {

    include "latin(type4)"

    name[Group1]="German (Colemak DHm)";

    key <TLDE>  {[dead_circumflex, degree,            U2032,          U2033 ]}; // ′ ″
    key <AE01>  {[               1,          exclam ]};
    key <AE02>  {[               2,        quotedbl,     twosuperior,        twosuperior ]};
    key <AE03>  {[               3,         section,   threesuperior,        threesuperior ]};
    key <AE04>  {[               4,          dollar,          emdash,        onequarter ]};
    key <AE05>  {[               5,         percent,      exclamdown,        onehalf ]};
    key <AE06>  {[               6,       ampersand,    questiondown,        threequarters ]};
    key <AE07>  {[               7,           slash,       braceleft,        oneeighth ]};
    key <AE08>  {[               8,       parenleft,     bracketleft,        threeeighths ]};
    key <AE09>  {[               9,      parenright,    bracketright,        fiveeighths ]};
    key <AE10>  {[               0,           equal,      braceright,        seveneighths ]};
    key <AE11>  {[          ssharp,        question,       backslash,        questiondown ]};
    key <AE12>  {[ dead_acute, dead_grave,     dead_cedilla,    dead_ogonek ]};

    key <AD01>  {[               q,               Q,              at,        at ]};
    key <AD02>  {[               w,               W ]};
    key <AD03>  {[               f,               F ]};
    key <AD04>  {[               p,               P ]};
    key <AD05>  {[               b,               B,           U2039,        NoSymbol, rightdoublequotemark, rightsinglequotemark, U203A ]};
    key <AD06>  {[               j,               J ]};
    key <AD07>  {[               l,               L ]};
    key <AD08>  {[               u,               U ]};
    key <AD09>  {[               y,               Y,   guillemotright,          U203A ]}; // 
    key <AD10>  {[      odiaeresis,      Odiaeresis ]};
    key <AD11>  {[ udiaeresis, Udiaeresis,   dead_diaeresis, dead_abovering ]};
    key <AD12>  {[            plus,        asterisk,      asciitilde,        macron ]};

    key <AC01>  {[               a,               A ]};
    key <AC02>  {[               r,               R ]};
    key <AC03>  {[               s,               S ]};
    key <AC04>  {[               t,               T ]};
    key <AC05>  {[               g,               G ]};
    key <AC06>  {[               m,               M,              mu,        mu ]};
    key <AC07>  {[               n,               N ]};
    key <AC08>  {[               e,               E,        EuroSign,        EuroSign ]};
    key <AC09>  {[               i,               I ]};
    key <AC10>  {[               o,               O ]};
    key <AC11>  {[      adiaeresis,      Adiaeresis ]};
    key <BKSL>  {[ numbersign, apostrophe, rightsinglequotemark, dead_breve ]};

    key <LSGT>  {[      less,     greater,            bar, bar ]};
    key <AB01>  {[               z,               Z ]};
    key <AB02>  {[               x,               X,    guillemotleft,          U2039 ]}; // « ‹]};
    key <AB03>  {[               c,               C,       copyright,        cent  ]};
    key <AB04>  {[               d,               D ]};
    key <AB05>  {[               v,               V ]};
    key <AB06>  {[               k,               K ]};
    key <AB07>  {[               h,               H ]};
    key <AB08>  {[      comma,  semicolon,   periodcentered,       multiply ]};
    key <AB09>  {[     period,      colon,            U2026,       division ]}; // … ÷
    key <AB10>  {[      minus, underscore,           endash,         emdash ]};

    key <SPCE>  {[           space,           space,    nobreakspace,        nobreakspace ]};

    include "kpdl(comma)"

    include "level3(ralt_switch)"
};

include in /usr/share/X11/xkb/rules/evdev.xml (it does not really matter where but in <layoutList>)

    <layout>
      <configItem>
        <name>decolemak</name>
        <shortDescription>deco</shortDescription>
            <description>German (Colemak DHm)</description>
        <languageList>
          <iso639Id>ger</iso639Id>
        </languageList>
      </configItem>
      <variantList>
        <variant>
          <configItem>
            <name>basic</name>
            <description>German (Colemak DHm)</description>
          </configItem>
        </variant>
      </variantList>
    </layout>
    <layout>

Now it should already be available to select in xfce etc.

usage in kernel

To unlock the disk in kernel do

/etc/default/keyboard

# KEYBOARD CONFIGURATION FILE

# Consult the keyboard(5) manual page.

XKBMODEL="pc105"
XKBLAYOUT="decolemak"
XKBVARIANT=""
XKBOPTIONS=""

# see man, not important
BACKSPACE="guess"

Then include that in initramfs

/etc/initramfs-tools/initramfs.conf

.
.
.
KEYMAP=y
.
.
.

grub

To use this map in grub too (for CBFS)

grub-kbdcomp -o decolemak.gkb decolemak

You can ignore errors but make sure its not an empty output file and the symbols were found

copy the gkb to /boot/grub or on cbfs

grub.cfg needs to have


insmod at_keyboard
insmod usb_keyboard

if [ -f (cbfsdisk)/keymap.gkb ]; then
    keymap (cbfsdisk)/keymap.gkb
fi

or similar like keymap /boot/grub/keymap.gkb

There is a lot that can go wrong here, see

https://debianforum-de.translate.goog/forum/viewtopic.php?t=169882&_x_tr_sl=auto&_x_tr_tl=en&_x_tr_hl=de&_x_tr_pto=wapp

and

https://askubuntu.com/questions/751259/how-to-change-grub-command-line-grub-shell-keyboard-layout

Current PTF

Hintergrund ändern. Verbraucht keinen oder einen 🍪.

Verknüpften Viewport öffnen

🎮 Steuerung
Dokumentation 🕹️
Sie sind leider kein Entwickler :(

Content Nodes Amount

Diligence / PTF Amount

FPS

Vertex-Count