GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

Wie bekomme ich ein mit Punkten in Dvorak von Ubuntu 16.04?

Ich möchte A mit Punkten eingeben (Ä / ä ) als einstufige Tastenkombination in der Ubuntu 16.04-Tastatur des Macbook Air 2013-mid, Ausgabe von setxkbmap -query

rules:      evdev
model:      pc105
layout:     us,us
variant:    dvorak,
options:    ctrl:nocaps

Standardmäßig gibt es kein AltGr in der Tastatur nur zwei Alts. Dieser Befehl macht Ihre rechte Alt-Taste zur Compose-Taste (AltGr ), behält aber Ihre eigenen benutzerdefinierten Tastaturkonfigurationen usw. mit Capslock als STRG durch caps:ctrl_modifier bei , siehe hier

gsettings set org.gnome.desktop.input-sources xkb-options 
    "$(gsettings get org.gnome.desktop.input-sources xkb-options  
    | sed "s/]/, 'compose:ralt']/")"

Es wäre wirklich großartig, xmodmap zu haben unabhängige Lösung, wenn diese geändert wird, weil sie abgeschrieben wird.

Zwei-Ebenen-Keybinding-Ansatz

Wir können mit Dvorak International nur einen Zwei-Ebenen-Keybinding-Ansatz mit Deadkeys durchführen.

  • Die Antwort von SeverusTux ist ein zweistufiger Befehl als AltGrShiftQ + A , was nur in us-drovak, international with deadkeys funktioniert .
  • Severus Tux. Strg +Shift +u +e4 + Enter funktioniert und gibt dir ä . Wie können Sie dies einer einstufigen Tastenkombination Alt zuordnen? –a ?

Ich tue, wo Sie sehen, dass die GUI die Änderung an anderer Stelle vornimmt. Ich möchte wirklich wissen, wo

[email protected]:~$ cat /usr/share/X11/locale/en_US.UTF-8/Compose > /home/masi/Desktop/test1
% I make here a change in the GUI as proposed by Severus: compose key = right Alt
[email protected]:~$ cat /usr/share/X11/locale/en_US.UTF-8/Compose > /home/masi/Desktop/test2
[email protected]:~$ diff /home/masi/Desktop/test1 /home/masi/Desktop/test2
[ no output ]

Dies zeigt, dass der xserver nicht schnell aktualisiert wird. Für die Änderung müssen Sie Ihre Tastatur auf eine andere und wieder zurück ändern.

Keybinding-Ansatz auf einer Ebene

Ich möchte einen einstufigen Befehl als AltGrA für ä und AltGrShiftA für Ä auf Englisch (US-dvorak).
Ich mache xev -e keyboard und drücken Sie AltGr

[ignore the beginning; press AltGr]
KeyPress event, serial 28, synthetic NO, window 0x4400001, 
root 0xd6, subw 0x0, time 13661220, (186,522), root:(186,574), 
state 0x0, keycode 108 (keysym 0xffea, Alt_R), same_screen YES, 
XLookupString gives 0 bytes: 
XmbLookupString gives 0 bytes: 
XFilterEvent returns: False 

KeyRelease event, serial 28, synthetic NO, window 0x4400001, 
root 0xd6, subw 0x0, time 13661284, (186,522), root:(186,574), 
state 0x8, keycode 108 (keysym 0xffea, Alt_R), same_screen YES, 
XLookupString gives 0 bytes: 
XFilterEvent returns: False

Sie können alle möglichen Schalter durch more /usr/share/X11/xkb/rules/xorg.lst | grep lv3 aber wir sind nur an lv3:ralt_switch interessiert

  lv3:switch           Right Ctrl
  lv3:menu_switch      Menu
  lv3:win_switch       Any Win key
  lv3:lwin_switch      Left Win
  lv3:rwin_switch      Right Win
  lv3:alt_switch       Any Alt key
  lv3:lalt_switch      Left Alt
  lv3:ralt_switch      Right Alt
  lv3:ralt_switch_multikey Right Alt, Shift+Right Alt key is Compose
  lv3:ralt_alt         Right Alt key never chooses 3rd level
  lv3:enter_switch     Enter on keypad
  lv3:caps_switch      Caps Lock
  lv3:bksl_switch      Backslash
  lv3:lsgt_switch      <Less/Greater>
  lv3:caps_switch_latch Caps Lock chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser
  lv3:bksl_switch_latch Backslash chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser
  lv3:lsgt_switch_latch <Less/Greater> chooses 3rd level, acts as onetime lock when pressed together with another 3rd-level-chooser

Meine Tastaturlayouts wurden getestet, aber hauptsächlich Englisch (US-dvorak)

Endgültige Lösung [Sneetsher]

Ich setze A mit Punkten in Englisch (dvorak) von AltGra . Führen Sie die Änderungen in /usr/share/X11/xkb/symbols/us zusammen; jetzt Deutsch-Dvorak, weil es auch für skandinavische Sprachen sehr gut funktioniert (ab hier)

// based on a keyboard map from an 'xkb/symbols/dk' file
// Added A with dots and O with dots for AltGr-A and AltGr-O, respectively. Sneether and Masi, 17-June-2016.

partial alphanumeric_keys
xkb_symbols "dvorak" {

    name[Group1]= "English (Dvorak)";

    key <TLDE> { [       grave, asciitilde, dead_grave, dead_tilde      ] };

    key <AE01> { [          1,  exclam          ]       };
    key <AE02> { [          2,  at              ]       };
    key <AE03> { [          3,  numbersign      ]       };
    key <AE04> { [          4,  dollar          ]       };
    key <AE05> { [          5,  percent         ]       };
    key <AE06> { [          6,  asciicircum, dead_circumflex, dead_circumflex ] };
    key <AE07> { [          7,  ampersand       ]       };
    key <AE08> { [          8,  asterisk        ]       };
    key <AE09> { [          9,  parenleft,  dead_grave] };
    key <AE10> { [          0,  parenright      ]       };
    key <AE11> { [ bracketleft, braceleft       ]       };
    key <AE12> { [ bracketright, braceright,  dead_tilde] };

    key <AD01> { [  apostrophe, quotedbl, dead_acute, dead_diaeresis    ] };
    key <AD02> { [      comma,  less,   dead_cedilla, dead_caron        ] };
    key <AD03> { [      period, greater, dead_abovedot, periodcentered  ] };
    key <AD04> { [          p,  P               ]       };
    key <AD05> { [          y,  Y               ]       };
    key <AD06> { [          f,  F               ]       };
    key <AD07> { [          g,  G               ]       };
    key <AD08> { [          c,  C               ]       };
    key <AD09> { [          r,  R               ]       };
    key <AD10> { [          l,  L               ]       };
    key <AD11> { [      slash,  question        ]       };
    key <AD12> { [      equal,  plus            ]       };

    key <AC01> {[ a,          A,    adiaeresis,       Adiaeresis ]      };
    key <AC02> {[ o,          O,    odiaeresis,       Odiaeresis ]      };
    key <AC03> { [ e, E, ediaeresis, Ediaeresis ] };
    key <AC04> { [ u, U, udiaeresis, Udiaeresis ] };
    key <AC05> { [          i,  I               ]       };
    key <AC06> { [          d,  D               ]       };
    key <AC07> { [          h,  H               ]       };
    key <AC08> { [          t,  T               ]       };
    key <AC09> { [          n,  N               ]       };
    key <AC10> { [ s, S, ssharp ] };
    key <AC11> { [      minus,  underscore      ]       };

    key <AB01> { [   semicolon, colon, dead_ogonek, dead_doubleacute ] };
    key <AB02> { [          q,  Q               ]       };
    key <AB03> { [          j,  J               ]       };
    key <AB04> { [          k,  K               ]       };
    key <AB05> { [          x,  X               ]       };
    key <AB06> { [          b,  B               ]       };
    key <AB07> { [          m,  M               ]       };
    key <AB08> { [          w,  W               ]       };
    key <AB09> { [          v,  V               ]       };
    key <AB10> { [          z,  Z               ]       };

    key <BKSL> { [  backslash,  bar             ]       };

    include "level3(ralt_switch)"
};

Oder verwenden Sie das Skript, das jedoch immer noch fehlerhaft ist

# restore your current keyboard settings 
sudo apt-get install --reinstall xkb-data
gsettings set org.gnome.desktop.input-sources xkb-options "['compose:ralt', 'caps:ctrl_modifier']"

sudo sed -i.bak 's/[[ t]*a,[ t]*A[ t]*]/[ a,          A,    adiaeresis,       Adiaeresis ]/g;' /usr/share/X11/xkb/symbols/us; 
sudo sed -i.bak 's/[[ t]*o,[ t]*O[ t]*]/[ o,          O,    odiaeresis,       Odiaeresis ]/g;' /usr/share/X11/xkb/symbols/us; 
# German-Dvorak feels better
#sudo sed -i.bak 's/[[ t]*e,[ t]*E[ t]*]/[ e,          E,    ediaeresis,       Ediaeresis ]/g;' /usr/share/X11/xkb/symbols/us; 
#sudo sed -i.bak 's/[[ t]*u,[ t]*U[ t]*]/[ u,          U,    udiaeresis,       Udiaeresis ]/g;' /usr/share/X11/xkb/symbols/us; 
#sudo sed -i.bak 's/[[ t]*s,[ t]*S[ t]*]/[ s,          S,    ssharp ]/g;' /usr/share/X11/xkb/symbols/us; 

# add     include "level3(ralt_switch)" to the end of the environment
# https://unix.stackexchange.com/a/290407/16920
# https://unix.stackexchange.com/q/290405/16920
pos=( $( sed -n -f - /usr/share/X11/xkb/symbols/us <<END_SED
    /xkb_symbols "dvorak" {/,/^};/{
            /xkb_symbols "dvorak" {/=
            /^};/=
    }
END_SED
) )
sudo sed -i.bak "${pos[1]}i    include "level3(ralt_switch)"" /usr/share/X11/xkb/symbols/us

sudo dpkg-reconfigure xkb-data
# Change your keyboard. Change Back. Should work. But some bug. I cannot get the script works stably. 

Fehler

  1. TODO-Problem beim Neuladen der Tastatur zurück auf xserver https://unix.stackexchange.com/q/290449/16920 Die manuelle Änderung funktioniert nicht immer.
  2. Komplikationen:Xserver lädt diese Schlüssel nicht schnell und nicht einmal in allen Fällen nach Neustart/Abmeldung.
Verwandte:ALPS-Touchpad auf DELL Inspiron I15RN-3647BK mit Ubuntu 11.10 x64?

Systeme:Ubuntu 16.04
Linux-Kernel:4.4 – 4.6
Tastaturmodell:pc105
Tastaturlayout für zweistufigen Tastenbelegungsansatz:US-dvorak international mit Deadkeys
Tastaturlayout für ein- Level-Keybinding-Ansatz:Englisch (Dvorak) =US-dvorak , sondern auch Englisch (Classic Dvorak)

Akzeptierte Antwort:

  • Um ä einzugeben, ist Unicode U00E4

  • Um Ä einzugeben, ist Unicode U00C4

Wenn Sie die Unicodes anderer Zeichen möchten, können Sie sie von gucharmap erhalten

Um es manuell einzugeben, drücken Sie ctrl +Shift +u und gefolgt von 00e4 und drücken Sie Enter , dies sollte ä

eingeben

Aber es gibt einen besseren Weg, dies mit Compose Keys zu tun .

Wenn Sie Ihre festlegen möchten Rechts alt als Compose-Schlüssel über die Befehlszeile: Führen Sie einfach Folgendes aus:

gsettings set org.gnome.desktop.input-sources xkb-options "['compose:ralt']"

Wenn Sie es über die GUI einstellen möchten:

Aktivieren Sie die Compose-Taste, indem Sie zu Systemeinstellungen –> Tastatur –> Eingabe –> Rechts Alt gehen . (Sie können einen anderen Schlüssel wählen, wenn Sie möchten)

Verwandte:Bash-Einzeiler, um nur alte Kernel zu löschen?

Das ist alles !!

Gehen Sie jetzt zu Ihrem bevorzugten Texteditor und tun Sie dies:

Drücken Sie Right Alt und lassen Sie es wieder los gefolgt von " gefolgt von a . jetzt sollten Sie ä sehen .

Dasselbe gilt für Ä , Rechts Alt drücken und loslassen gefolgt von " gefolgt von A

HINWEIS: Sie müssen möglicherweise die Umschalttaste drücken +' um " zu erhalten

TIPP:

Wenn Sie alle ähnlichen Verknüpfungen sehen möchten, sehen Sie sich diese Datei an:/usr/share/X11/locale/en_US.UTF-8/Compose


Ubuntu
  1. Wie fange ich mit Übersetzungen an?

  2. Wie bekomme ich die Webcam mit Ubuntu 14.04 zum Laufen?

  3. Wie kommt Ubuntu mit dem Lesen von Fat32 davon?

  4. Wie kann Webex vollständig mit Ubuntu 12.04 arbeiten?

  5. Erste Schritte mit Deepin Terminal unter Ubuntu Linux

So installieren Sie OSClass mit Nginx unter Ubuntu 20.04

So installieren Sie Nginx mit ModSecurity unter Ubuntu 15.04

So installieren Sie Flask mit Python 3 unter Ubuntu 18.04

So installieren Sie PrestaShop auf Ubuntu 20.04 mit Apache

So passen Sie Ubuntu 18.04 mit Themen an

So installieren und beginnen Sie mit Itch unter Ubuntu Linux