GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak získat A s tečkami v Dvorak Of Ubuntu 16.04?

Chci napsat A s tečkami (Ä / ä ) jako jednoúrovňová klávesová zkratka v klávesnici Ubuntu 16.04 Macbook Air 2013-mid, výstup setxkbmap -query

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

Ve výchozím nastavení neexistuje žádný AltGr na klávesnici, jen dva Alty. Tento příkaz změní váš pravý alt na klávesu pro psaní (AltGr ), ale zachovává vaše vlastní konfigurace klávesnice atd. s Capslock jako CTRL pomocí caps:ctrl_modifier , viz zde

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

Bylo by opravdu skvělé mít xmodmap nezávislé řešení, pokud se to změní, protože bude odepisováno.

Dvouúrovňový přístup vázání kláves

Dvouúrovňový klíčový přístup můžeme provést pouze s Dvorak International s mrtvými klávesami.

  • Odpověď SeverusTux je dvouúrovňový příkaz jako AltGrShiftQ + A , který funguje pouze v us-drovak, international with deadkeys .
  • SeverusTux. Ctrl +Shift +u +e4 + Enter funguje a dává vám ä . Jak to můžete namapovat na jednoúrovňovou klávesovou zkratku Alta ?

Dělám, kde vidíte, že GUI provádí změnu jinde. Opravdu chci vědět kde

[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 ]

To ukazuje, že xserver se neaktualizuje rychle. Pro změnu musíte změnit klávesnici na něco jiného a zase zpět.

Jednoúrovňový přístup ke klávesové zkratce

Chci jednoúrovňový příkaz jako AltGrA pro ä a AltGrShiftA pro Ä v angličtině (US-dvorak).
Používám xev -e keyboard a stiskněte 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

Všechny možné přepínače můžete získat pomocí more /usr/share/X11/xkb/rules/xorg.lst | grep lv3 ale nás zajímá pouze lv3:ralt_switch

  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

Moje rozložení klávesnice testováno, ale hlavní angličtina (US-dvorak)

Konečné řešení [Sneetsher]

Nastavil jsem A s tečkami v angličtině (dvorak) pomocí AltGra . Sloučit změny v /usr/share/X11/xkb/symbols/us; nyní německy-Dvorak, protože funguje velmi dobře i pro skandinávské jazyky (zde)

// 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)"
};

Nebo použijte skript, který je však stále chybný

# 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. 

Chyby

  1. Problém TODO s opětovným načtením klávesnice zpět na xserver https://unix.stackexchange.com/q/290449/16920 Ruční změna nefunguje vždy.
  2. Komplikace:Xserver nenačte tyto klíče rychle a dokonce ani ve všech případech po restartu/odhlášení.
Související:ALPS touchpad na DELL Inspiron I15RN-3647BK s Ubuntu 11.10 x64?

Systémy:Ubuntu 16.04
Linuxové jádro:4.4 – 4.6
Model klávesnice:pc105
Rozložení klávesnice pro dvouúrovňový přístup k klávesám:US-dvorak international s mrtvými klávesami
Rozložení klávesnice pro jedno- úroveň keybinding přístup:Angličtina (Dvorak) =US-dvorak , ale také angličtina (Classic Dvorak)

Přijatá odpověď:

  • Chcete-li zadat ä , unicode je U00E4

  • Chcete-li zadat Ä , unicode je U00C4

Pokud chcete unikódy jiných znaků, můžete je získat z gucharmap

Chcete-li jej zadat ručně, stiskněte ctrl +posun +u a poté 00e4 a stiskněte Enter , měl by být typ ä

Existuje však lepší způsob, jak toho dosáhnout pomocí Kláves pro psaní .

Pokud chcete nastavit své Pravý alt jako klávesu pro psaní pomocí příkazového řádku: stačí provést toto:

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

Pokud to chcete nastavit pomocí GUI:

Povolte klávesu pro psaní v Nastavení systému –> Klávesnice –> Psaní –> Pravý Alt . (pokud si přejete, můžete zvolit jiný klíč)

Související:Bash one-liner pro odstranění pouze starých jader?

To je vše!!

Nyní přejděte do svého oblíbeného textového editoru a proveďte toto:

Stiskněte a uvolněte Pravý Alt následuje " následuje a . nyní byste měli vidět ä .

Totéž lze provést pro Ä , Stiskněte a uvolněte Pravý Alt následuje " následuje A

POZNÁMKA: možná budete muset stisknout Shift +' získat "

TIP:

Pokud chcete vidět všechny podobné zkratky, prohlédněte si tento soubor:/usr/share/X11/locale/en_US.UTF-8/Compose


Ubuntu
  1. Jak začít s překlady?

  2. Jak zajistit, aby webová kamera fungovala s Ubuntu 14.04?

  3. Jak zajistit, aby Webex plně fungoval s Ubuntu 12.04?

  1. Jak nastavit bránu firewall s UFW na Ubuntu 20.04

  2. Jak Ubuntu projde čtením Fat32?

  3. Jak začít s Deepin Terminal na Ubuntu Linux

  1. Jak nainstalovat MediaWiki s Nginx na Ubuntu 16.04

  2. Jak nainstalovat Magento s Nginx na Ubuntu 15.10

  3. Jak nainstalovat Mailpile s Nginx na Ubuntu 15.10