GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come ottenere A con punti in Dvorak di Ubuntu 16.04?

Voglio digitare A con punti (Ä / ä ) come combinazione di tasti a un livello nella tastiera di Ubuntu 16.04 di Macbook Air 2013-mid, output di setxkbmap -query

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

Per impostazione predefinita, non è presente AltGr nella tastiera, solo due Alt. Questo comando rende la tua destra alt il tasto di composizione (AltGr ) ma mantiene le tue configurazioni di tastiera personalizzate ecc. Avendo Capslock come CTRL di caps:ctrl_modifier , vedi qui

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

Sarebbe davvero fantastico avere xmodmap soluzione indipendente se questo verrà modificato perché verrà ammortizzato.

Approccio alla combinazione di tasti a due livelli

Possiamo eseguire solo un approccio di combinazione di tasti a due livelli con Dvorak International con deadkey.

  • La risposta di SeverusTux è un comando a due livelli come AltGrMaiuscoleD + A , che funziona solo in us-drovak, international with deadkeys .
  • Severus Tux. Ctrl +Maiusc +tu +e4 + Entra funziona e ti dà ä . Come puoi mappare questo su una combinazione di tasti a un livello Alta ?

Lo faccio dove vedi che la GUI apporta la modifica altrove. Voglio davvero sapere dove

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

Questo mostra che xserver non si aggiorna velocemente. Devi cambiare la tastiera con qualcos'altro e viceversa, per la modifica.

Approccio alla combinazione di tasti a un livello

Voglio un comando a un livello come AltGrA per ä e AltGrMaiuscoleA per Ä in inglese (US-dvorak).
Eseguo xev -e keyboard e premi 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

Puoi ottenere tutte le opzioni possibili tramite more /usr/share/X11/xkb/rules/xorg.lst | grep lv3 ma siamo interessati solo a 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

I miei layout di tastiera sono stati testati ma inglese principale (US-dvorak)

Soluzione finale [Sneetsher]

Ho impostato A con punti in inglese (dvorak) di AltGra . Unisci le modifiche in/usr/share/X11/xkb/symbols/us; ora tedesco-dvorak perché funziona molto bene anche per le lingue scandinave (da qui)

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

Oppure usa lo script che però è ancora buggato

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

Bug

  1. Problema TODO con il ricaricamento della tastiera su xserver https://unix.stackexchange.com/q/290449/16920 La modifica manuale non funziona sempre.
  2. Complicazioni:Xserver non carica quelle chiavi velocemente e nemmeno in tutti i casi dopo il riavvio/logout.
Correlati:touchpad ALPS su DELL Inspiron I15RN-3647BK con Ubuntu 11.10 x64?

Sistemi:Ubuntu 16.04
Kernel Linux:4.4 – 4.6
Modello di tastiera:pc105
Layout della tastiera per un approccio di combinazione di tasti a due livelli:US-dvorak International con deadkeys
Layout della tastiera per uno- approccio di combinazione di tasti a livello:Inglese (Dvorak) =US-dvorak , ma anche inglese (Classic Dvorak)

Risposta accettata:

  • Per digitare ä , unicode è U00E4

  • Per digitare Ä , unicode è U00C4

Se vuoi gli unicode di altri caratteri, puoi ottenerli da gucharmap

Per inserirlo manualmente, premi ctrl +shift +tu e seguito da 00e4 e premi Invio , questo dovrebbe digitare ä

Ma c'è un modo migliore per farlo usando Componi chiavi .

Se vuoi impostare il tuo Alt. destra come chiave di composizione utilizzando la riga di comando: esegui questo :

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

Se vuoi impostarlo facendo causa alla GUI:

Abilita il tasto di composizione andando su Impostazioni di sistema –> Tastiera –> Digitazione –> Alt destra . (puoi scegliere una chiave diversa se lo desideri)

Correlati:Bash one-liner per eliminare solo i vecchi kernel?

Questo è tutto!!

Ora vai al tuo editor di testo preferito e fallo:

Premi e rilascia Alt destro seguito da " seguito da a . ora dovresti vedere ä .

Lo stesso può essere fatto per Ä , Premi e rilascia Alt destro seguito da " seguito da A

NOTA : potrebbe essere necessario premere MAIUSC +' per ottenere "

SUGGERIMENTO:

Se desideri vedere tutte le scorciatoie simili, visualizza questo file:/usr/share/X11/locale/en_US.UTF-8/Compose


Ubuntu
  1. Come iniziare con le traduzioni?

  2. Come far funzionare la webcam con Ubuntu 14.04?

  3. Come fa Ubuntu a farla franca con la lettura di Fat32?

  4. Come far funzionare Webex completamente con Ubuntu 12.04?

  5. Come iniziare con Deepin Terminal su Ubuntu Linux

Come installare OSClass con Nginx su Ubuntu 20.04

Come installare Nginx con ModSecurity su Ubuntu 15.04

Come installare Flask con Python 3 su Ubuntu 18.04

Come installare PrestaShop su Ubuntu 20.04 con Apache

Come personalizzare Ubuntu 18.04 con i temi

Come installare e iniziare con Itch su Ubuntu Linux