Ändern des Tastaturlayouts in X11: Verwenden von Alt + Umschalt + 2 für @

3

Ich benutze ein MacBook mit kroatischem Layout. Das gängige kroatische PC-Layout (unter Windows und Linux) verwendet Kombinationen mit AltGr, um verschiedene Symbole zu erhalten, z. B. ...

  • AltGr+ Vfür@
  • AltGr+ Ffür[
  • AltGr+ Bfür{

Unter OS X wird dies durch ... ersetzt.

  • Alt+ Shift+ 2für@
  • Alt+ Šfür[
  • Alt+ Shift+ Šfür{

- Das heißt, US-Layoutpositionen + altgeben das erforderliche Symbol an.

Wenn ich mit Linux arbeite, fällt es mir schwer, wieder zur kroatischen PC-Zuordnung zurückzukehren. Daher benutze ich in der Regel das US-Layout am häufigsten (und dann habe ich das Problem, dass ich lokale Symbole wie ČĆŠŠĐ nicht eingeben kann, plus das Problem, dass ich NICHT Alt für @, [, {, usw. eingeben muss).

Tastaturzuordnungsdefinitionen, die sich in Ubuntu in befinden /usr/share/X11/xkb, bieten eine einfache Möglichkeit, Symbole auf Tastendrücken, shift+ keydown, altgr+ keydown und altgr+ shift+ neu zuzuordnen keydown. Ich konnte keine Möglichkeit finden, Dinge auf alt+ keydown und alt+ shift+ abzubilden keydown.

Wie kann ich Glyphen in X11 alt+ keydown und alt+ shift+ keydownzuordnen?

Ivan Vučica
quelle

Antworten:

1

Nun, ich habe eine dumme Idee: Sie könnten es zusammen mit xdotool und xbindkeys hacken :

füge folgendes zu deinem hinzu ~/.xbindkeysrc

"xdotool key at"
    Shift+Alt+Mod2 + 2

Taadaa!

(In Ordnung, bring die Abstimmungen herbei!)

brice
quelle
Entschuldigung für die "lange" Verzögerung bei der Annahme der Antwort (jetzt gibt es eine Untertreibung!) - aber ich bin bis jetzt nie dazu gekommen, es zu versuchen. Leider scheint dies unter Ubuntu 12.04 bei mir nicht zu funktionieren; Selbst wenn Sie versuchen, Shift+Alt + 2wie von vorgeschlagen, xbindkeys -mkund die GUI xbindkeys-confighilft nicht. Geht das für dich? Ich habe die Antwort trotzdem akzeptiert, weil sie auf dem richtigen Weg ist.
Ivan Vučica
3

Sie können es nicht konfigurieren, da Alt in Standard-X-Servern kein Schlüsselcode-Modifikator ist. In X11 können mit Tasten definiert und geändert werden xmodmap. Mit dem Programm xevkann der Schlüsselcode identifiziert werden. Starten Sie xevund drücken Sie 2. Auf einer deutschen PC-Tastatur sieht das so aus:

KeyPress-Ereignis, Seriennummer 33, synthetisches NO, Fenster 0x3000001,
    root 0x69, subw 0x0, time 3044226, (160,148), root: (164,198),
    Zustand 0x0, Keycode 11 (Keysym 0x32, 2), same_screen YES,
    XLookupString gibt 1 Byte: (32) "2"
    XmbLookupString gibt 1 Byte: (32) "2"
    XFilterEvent gibt zurück: True

KeyRelease-Ereignis, Seriennummer 33, synthetisches NO, Fenster 0x3000001,
    root 0x69, subw 0x0, time 3044305, (160,148), root: (164,198),
    Zustand 0x0, Keycode 11 (Keysym 0x32, 2), same_screen YES,
    XLookupString gibt 1 Byte: (32) "2"
    XFilterEvent gibt Folgendes zurück: False

Sie können sehen, dass der Schlüsselcode für den Schlüssel 11 ist. Jetzt können Sie die Schlüsselcodedefinition anzeigen mit xmodmap:

$ xmodmap -pke | ​​grep '11 ='
keycode 11 = 2 quotedbl twosuperior oneeighth twosuperior oneeighth

Sie können vier verschiedene Schlüssel sehen, die der Schlüsselcode 11 erzeugen kann. Die Manpage für xmodmap erklärt, welcher Schlüssel von welchem ​​Modifikator generiert wird:

    keycode NUMBER = KEYSYMNAME ...
           The list of keysyms is assigned to the indicated keycode (which
           may be specified in decimal, hex or octal and can be determined
           by running the xev  program).   Up  to  eight  keysyms  may  be
           attached  to  a  key, however the last four are not used in any
           major X server implementation.  The first keysym is  used  when
           no  modifier  key  is pressed in conjunction with this key, the
           second with Shift, the third when the Mode_switch key  is  used
           with  this  key  and  the  fourth when both the Mode_switch and
           Shift keys are used.

Nur Shiftund Mode_switchsind gültige Modifikatoren für X11-Schlüsselcodes. Wenn Sie möchten, dass Ihr AltSchlüssel ein gültiger Modifikator ist, müssen Sie Ihren X-Server patchen. Theoretisch ist es möglich, da 8 Modifikatoren möglich sind. Aber Ihr X-Server muss das wissen.

ceving
quelle
Während Sie mir eine Erklärung gegeben haben, stimme ich Ihnen nur zu und akzeptiere die andere Antwort, die tatsächlich die Lösung lieferte. Trotzdem
vielen