GNU/Linux >> Tutoriales Linux >  >> Ubuntu

¿Cómo obtener una con puntos en Dvorak de Ubuntu 16.04?

Quiero escribir A con puntos (Ä / ä ) como combinación de teclas de un nivel en el teclado de Ubuntu 16.04 de Macbook Air 2013-mid, salida de setxkbmap -query

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

Por defecto, no hay AltGr en el teclado, solo dos Alts. Este comando hace que su alt derecho sea la tecla de redacción (AltGr ) pero mantiene sus propias configuraciones de teclado personalizadas, etc. con Bloq Mayús como CTRL por caps:ctrl_modifier , ver aquí

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

Sería genial tener xmodmap solución independiente si esto se va a cambiar porque se va a depreciar.

Enfoque de combinación de teclas de dos niveles

Solo podemos hacer un enfoque de combinación de teclas de dos niveles con Dvorak International con teclas muertas.

  • La respuesta de SeverusTux es un comando de dos niveles como AltGrCambioP + A , que funciona solo en us-drovak, international with deadkeys .
  • SeverusTux. Ctrl +Mayús +u +e4 + Entrar funciona y te da ä . ¿Cómo puede asignar esto a una combinación de teclas de un nivel Alta ?

Hago donde ves que la GUI hace el cambio en otro lugar. Realmente quiero saber dónde

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

Esto muestra que el xserver no se actualiza rápido. Tienes que cambiar tu teclado a otra cosa y viceversa, para el cambio.

Enfoque de combinación de teclas de un nivel

Quiero un comando de un nivel como AltGrA para ä y AltGrCambioA para Ä en inglés (US-dvorak).
Hago xev -e keyboard y presione 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

Puede obtener todos los cambios posibles mediante more /usr/share/X11/xkb/rules/xorg.lst | grep lv3 pero solo estamos interesados ​​en 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

Mis diseños de teclado probados pero en inglés principal (US-dvorak)

Solución final [Sneetsher]

Puse A con puntos en inglés (dvorak) por AltGra . Combinar los cambios en /usr/share/X11/xkb/symbols/us; ahora alemán-Dvorak porque también funciona muy bien para los idiomas escandinavos (desde aquí)

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

O use el script que, sin embargo, todavía tiene errores

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

Errores

  1. Problema TODO al volver a cargar el teclado en xserver https://unix.stackexchange.com/q/290449/16920 El cambio manual no siempre funciona.
  2. Complicaciones:Xserver no carga esas claves rápidamente y ni siquiera en todos los casos después de reiniciar/cerrar sesión.
Relacionado:panel táctil ALPS en DELL Inspiron I15RN-3647BK con Ubuntu 11.10 x64?

Sistemas:Ubuntu 16.04
Kernel de Linux:4.4 – 4.6
Modelo de teclado:pc105
Diseño de teclado para enfoque de combinación de teclas de dos niveles:US-dvorak internacional con teclas muertas
Diseño de teclado para un enfoque de combinación de teclas de nivel:Inglés (Dvorak) =US-dvorak , pero también Inglés (Classic Dvorak)

Respuesta aceptada:

  • Para escribir ä, Unicode es U00E4

  • Para escribir Ä , Unicode es U00C4

Si desea los unicodes de otros personajes, puede obtenerlos de gucharmap

Para ingresarlo manualmente, presione ctrl +cambio +u y seguido de 00e4 y presione Enter , esto debería escribir ä

Pero hay una mejor manera de hacer esto usando Claves de composición .

Si desea configurar su Alt derecho como clave de redacción usando la línea de comando: solo ejecuta esto:

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

Si desea configurarlo mediante GUI:

Habilite la tecla de redacción yendo a Configuración del sistema -> Teclado -> Escritura -> Alt derecho . (puede elegir una clave diferente si lo desea)

Relacionado:¿Bash one-liner para eliminar solo kernels antiguos?

¡¡Eso es todo!!

Ahora ve a tu editor de texto favorito y haz esto:

Presione y suelte Alt derecho seguido de " seguido de a . ahora deberías ver ä .

Se puede hacer lo mismo para Ä , presione y suelte Alt derecho seguido de " seguido de A

NOTA: es posible que deba presionar Shift +' para obtener "

CONSEJO:

Si desea ver todos los atajos similares, vea este archivo:/usr/share/X11/locale/en_US.UTF-8/Compose


Ubuntu
  1. ¿Cómo empezar con las traducciones?

  2. ¿Cómo hacer que la cámara web funcione con Ubuntu 14.04?

  3. ¿Cómo se sale con la suya Ubuntu al leer Fat32?

  4. ¿Cómo hacer que Webex funcione completamente con Ubuntu 12.04?

  5. Cómo comenzar con Deepin Terminal en Ubuntu Linux

Cómo instalar OSClass con Nginx en Ubuntu 20.04

Cómo instalar Nginx con ModSecurity en Ubuntu 15.04

Cómo instalar Flask con Python 3 en Ubuntu 18.04

Cómo instalar PrestaShop en Ubuntu 20.04 con Apache

Cómo personalizar Ubuntu 18.04 con temas

Cómo instalar y comenzar con Itch en Ubuntu Linux