Marvin Preuss xsteadfastx photo

github twitter mastodon flickr

Und da war mein Caps Lock wieder Caps Lock

/// f5b3ad6 /// linux systemd capslock

Ich habe über Umwegen eine ziemlich schöne, kleine CHERRY Tastertur (ML4400) zugesteckt bekommen. Eins der Vorteile ist in manchen Fällen auch ein Nachteil: Es gibt keine Windows Taste. Nichts das ich jemals stolz darauf war diese auf meiner Tastertur zu haben. Ich erinnere mich daran das man für CHERRY Tasterturen sogar einen Ersatz mit TUX bekam. Nun nutze ich seit vielen vielen Jahren i3 als WindowManager und nutze die Windows Taste um viele Shortcuts darin auszuführen.

Ich habe über Umwegen eine ziemlich schöne, kleine CHERRY Tastertur (ML4400) zugesteckt bekommen. Eins der Vorteile ist in manchen Fällen auch ein Nachteil: Es gibt keine Windows Taste. Nichts das ich jemals stolz darauf war diese auf meiner Tastertur zu haben. Ich erinnere mich daran das man für CHERRY Tasterturen sogar einen Ersatz mit TUX bekam. Nun nutze ich seit vielen vielen Jahren i3 als WindowManager und nutze die Windows Taste um viele Shortcuts darin auszuführen. Mein Musclememory ist komplett darauf konditioniert. Will ich meine neue Tastertur also benutzen, muss ich in irgendeine Richtung umdenken. Caps Lock wollte ich eh schon immer mal wegmappen. Also was solls.

    setxkbmap -option caps:super

Funktioniert bis auf mein halbes Abbrechen meiner Finger und dem Entgegenarbeiten des gut trainierten Muskelspeichers. Ich fing an zu arbeiten, klappte irgendwann den Laptop zu und am nächsten Tag wunderte ich mich, dass nichts mehr so wahr wie ich es wollte. Kommt heraus: Nachdem Suspend sind die Einstellungen weg. Wenig rumgegoogelt und auf was gestoßen. Es gibt das Verzeichnis /lib/systemd/system-sleep. Darin kann man Scripte stecken die beim Einschlafen oder Aufwachen ausgeführt werden. Dabei übergibt systemd zwei Argumente bei jedem Suspend: 1. pre oder post und 2. die Action sowie suspend oder hibernate. Mein Script sieht wie folgt aus:

        #!/bin/sh
        case $1/$2 in
            pre/*)
                echo "Going to $2..."
                ;;
            post/*)
                setxkbmap -option super:caps
                ;;
        esac

Wichtig wäre es vielleicht auch wo genau das Script rein kommt. Dies findet man schnell mit systemctl help systemd-suspend.service heraus.

Update: Manchmal (und das gefühlt random) wird Caps Lock dann doch wieder Caps Lock. Nun greife ich zu härteren Bandagen: /etc/default/keyboard:

    # KEYBOARD CONFIGURATION FILE

    # Consult the keyboard(5) manual page.

    XKBMODEL="pc105"
    XKBLAYOUT="de"
    XKBVARIANT=""
    XKBOPTIONS="caps:super"

    BACKSPACE="guess"

Danach einmal dpkg-reconfigure keyboard-configuration ausführen!