> > für meine Truly Ergonomic (TECK) habe ich das Mapping unter X über
>  eine
> > xkb-Keycode-Datei realisiert, die lediglich die von mir gewünschten
> > Änderungen enthält. Diese wird über eine xkb-Rule und einem
> > InputClass-Eintrag mit MatchUSBID in der xorg.conf der Tastatur
> > zugewiesen.

> Das klingt interessant. Könntest du vielleicht kurz erklären, wie du
> das
> genau gemacht hast, oder einfach die Dateien posten? 

> Dazu eine Frage: Hast du dir ein eigenes rule-File angelegt, oder
> eines der existierenden modifiziert?

Für die Keycode-Änderungen habe ich eine eigene
Datei /usr/share/X11/xkb/keycodes/truly angelegt (siehe Anhang), die die
inhaltlichen Änderungen des Mappings beinhaltet.
Um das Ganze wenigstens etwas Gnome-kompatibel zu halten, habe ich für
die Einbindung mehrere Möglichkeiten ausprobiert und zurzeit kein extra
Layout, sondern eine Option erstellt, die (leider global für alle
Tastaturen) auch über die Gnome-Systemeinstellungen gesetzt werden kann.
Dazu habe ich mehrere Dateien von evdev modifiziert:

/usr/share/X11/xkb/rules/evdev:
! option        =       keycodes
  truly:gotik   =       +truly(gotik)

/usr/share/X11/xkb/rules/evdev.lst:
  truly                Mapping for the Truly Ergonomic Computer Keyboard
  truly:gotik          gotik_‘s Truly Mapping

/usr/share/X11/xkb/rules/evdev.xml:
    <group allowMultipleSelection="false">
      <configItem>
        <name>truly</name>
        <description>Mapping for the Truly Ergonomic Computer
Keyboard</description>
      </configItem>
      <option>
        <configItem>
          <name>truly:gotik</name>
          <description>gotik_‘s Truly Mapping</description>
        </configItem>
      </option>
    </group>

Die Konfiguration des XServers, diese Option dem TECK zuzuweisen, habe
ich in der Datei /etc/X11/xorg.conf.d/90-truly.conf gespeichert (siehe
Anhang). Hier müßte man, wie Martin schreibt, eventuell „MatchUSBID“
durch „MatchProduct“ ersetzen.


> Ich habe mir für meine TECK extra Dateien mit geometry, symbols und
> keycodes angelegt (dabei habe ich gut die Hälfte der Tasten
> umbenannt), lediglich für die rules habe ich nur die evdev Datei
> modifiziert. Ich bin mir da noch etwas unsicher. Eine eigene Datei
> wäre sicher „sauberer“ …

Mir wäre es auch lieber alle Modifikationen in eigenen Dateien
vorzunehmen und nicht die Systemdateien von xkb und evdev zu ändern. Das
scheint mir aber größerer Aufwand zu sein.


> Muss mich irgendwie noch an die Mechanik und Tastenanordnung gewöhnen.
> Meine Tippgeschwindigkeit hat ganz schön abgenommen.

Meine ebenfalls. Bei mir liegt es vielleicht auch daran, daß ich leider
noch viel auf einer normalen QWERTZ-Tastatur schreiben muß.


Falls jemand noch Verbesserungen oder Vereinfachungen weiß, immer her
damit ;)

Olli
// Changes for the Truly Ergonomic Computer Keyboard (TECK)
// by gotik_
// last modified 13.02.2012
//
// ┌───────┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───┬───────┐
// │ LALT  │   │   │   │   │   │ - │   │   │   │   │   │ BKSP  │
// ├───┬───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┬───┤
// │ ` │ ß │   │   │   │   │   │ ^ │   │   │   │   │   │ y │ ´ │
// ├───┴───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┴───┤
// │  M3L  │   │   │   │   │   │TAB│   │   │   │   │   │  M3R  │
// ├───────┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───┼───────┤
// │ LFSH  │   │   │   │   │   │RTN│   │   │   │   │ j │ RFSH  │
// ├───────┼┬┬┬┼───┼┬┬┬┼───┴───┼───┼───┴───┼┬┬┬┼───┼┬┬┬┼───────┤
// │ LCTL  ├┴┴┴┤POS├┴┴┴┤       │WIN│       ├┴┴┴┤   ├┴┴┴┤ RCTL  │
// └───────┤ ← ├───┤M4L├───────┴───┴───────┤M4R├───┤   ├───────┘
//         └───┤END├───┘                   └───┤   ├───┘
//             └───┘                           └───┘


default xkb_keycodes "basic" {
    
    // Special Keys
    <BKSP> = 21;
    <RTRN> = 22;
    <LWIN> = 36;
    <PRSC> = 133;
    <PAUS> = 107;
    
    // Modifier
    // Control
    <LCTL> = 64;
    <RCTL> = 108;
    // Mod1 (Alt)
    <LALT> = 20;
    // Shift
    <LFSH> = 37;
    <RTSH> = 105;
    // M3
    <CAPS> = 50;
    <BKSL> = 62;
    // M4
    <LSGT> = 115;
    <RALT> = 113;
    
    // Navigation
    <HOME> = 112;
    <END>  = 117;
    <LEFT> = 110;
    
    // Keys
    <AC11> = 34;    // y
    <AD11> = 61;    // ssharp
    <AB10> = 48;    // j
    <AE12> = 51;    // dead grave
    <AD12> = 35;    // dead acute
    <AE11> = 49;    // minus
    <TLDE> = 94;    // circumflex

};


xkb_keycodes "gotik" {
    include "truly(basic)"

};

Section "InputClass"
        Identifier "truly catchall"
        MatchIsKeyboard "on"
        MatchDevicePath "/dev/input/event*"
        MatchUSBID "0e6a:030c"
        Driver "evdev"

        Option "XkbModel"       "pc(pc105)"
        Option "XkbLayout"      "de"
        Option "XkbVariant"     "neo"
        Option "XkbOptions"     "grp:sclk_toggle,grp_led:scroll,truly:gotik"
EndSection

Antwort per Email an