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 desetxkbmap -query
rules: evdev
model: pc105
layout: us,us
variant: dvorak,
options: ctrl:nocaps
Por defecto, no hay AltGren el teclado, solo dos Alts. Este comando convierte a su derecha en la tecla componer ( AltGr) pero mantiene sus propias configuraciones de teclado personalizadas, etc., teniendo Capslock como CTRL caps:ctrl_modifier
, vea 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 realmente genial tener xmodmap
una 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 AltGr- Shift- Q+ A, que solo funciona en
us-drovak, international with deadkeys
. - SeverusTux. Ctrl+ Shift+ u+ e4+ Enterfunciona y te da
ä
. ¿Cómo se expresa eso a una combinación de teclas de un nivel Alt- a?
Lo hago donde ves que la GUI hace el cambio en otra parte. Tengo muchas ganas de saber dónde
masi@masi:~$ 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
masi@masi:~$ cat /usr/share/X11/locale/en_US.UTF-8/Compose > /home/masi/Desktop/test2
masi@masi:~$ diff /home/masi/Desktop/test1 /home/masi/Desktop/test2
[ no output ]
Esto muestra que el servidor x no se actualiza rápidamente. Tienes que cambiar tu teclado a otra cosa y volver para el cambio.
Enfoque de combinación de teclas de un nivel
Quiero un comando de un nivel como AltGr- Afor ä
y AltGr- Shift- Afor Ä
en inglés (US-dvorak). Hago xev -e keyboard
y presionoAltGr
[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 more /usr/share/X11/xkb/rules/xorg.lst | grep lv3
pero solo estamos interesados enlv3: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 probaron pero el inglés principal (US-dvorak)
Solución final [Sneetsher]
Puse A con puntos en inglés (dvorak) por AltGr- a. Fusionar 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.
Loco
- TODO problema al volver a cargar el teclado en xserver https://unix.stackexchange.com/q/290449/16920 El cambio manual no siempre funciona.
- Complicaciones: Xserver no carga esas claves rápidamente y ni siquiera en todos los casos después de reiniciar / cerrar sesión.
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 enfoque de combinación de teclas de un nivel: inglés (Dvorak) = US-dvorak , pero también inglés (Dvorak clásico)
ctrl+shift+u
luego escribae4
y presione Entrar. Si esto funciona, puede intentar obtener una clave simple para eso.Respuestas:
Para escribir ä, unicode es U00E4
Para escribir Ä, unicode es U00C4
Si quieres los unicodes de otros personajes, puedes obtenerlos de
gucharmap
Para ingresarlo manualmente, presione ctrl+ shift+ uy seguido de 00e4 y presione Enter, esto debería escribir ä
Pero hay una mejor manera de hacerlo usando Compose Keys .
Si desea establecer su Right alt clave de redacción mediante la línea de comandos: simplemente ejecute esto:
Si desea configurarlo demandando GUI:
Habilite la clave de redacción yendo a Configuración del sistema -> Teclado -> Escribir -> Alt derecho . (puede elegir una clave diferente si lo desea)
Eso es todo !!
Ahora ve a tu editor de texto favorito y haz esto:
Presione y suelte Right Altseguido de "seguido de a. ahora deberías ver ä .
Lo mismo puede hacerse para Ä , presione y suelte Right Altseguido de "seguido deA
NOTA: es posible que deba presionar Shift+ 'para obtener"
PROPINA:
Si desea ver todos los accesos directos similares, vea este archivo: /usr/share/X11/locale/en_US.UTF-8/Compose
fuente
sed
, es información adicional como dijo @BharadwajRaju, simplemente puede verlo si desea la tecla de acceso directo para algún otro símbolo especial. Esa es una lista enorme de todos estos atajosInglés (Dvorak, internacional con claves muertas): ¡
dvorak-intl
funciona bien!Puedo escribir
Ä
usando ShiftAltGrqcon la configuración predeterminada. Ver archivo/usr/share/X11/xkb/symbols/us
donde laq
clave declarada comoy con
level3(ralt_switch)
en la parte inferior para usar Right Alt/ AltGrcomo turno de tercer nivel de maneraq
←qQ
←Shiftqä
←AltGrqÄ
←ShiftAltGrqVisualización
dvorak-intl
define solo 4 niveles, dibujo los 8 niveles que admite XKB para que pueda obtener una visión general.<AB02>
clave son equivalentes.Configuración
ä
yÄ
en el tercer y cuarto nivel dea
clave en inglés (Dvorak) -dvorak
diseñoAdemás
ö
yÖ
eno
clave. (No aparece en la captura de pantalla, ya que se agregó después de la captura de pantalla)Igual que
dvorak-intl
, podemos hacer la misma configuración paradvorak
.Borrar modificaciones previas
Control
Prueba inglés (Dvorak, internacional con claves muertas) -
dvorak-intl
AltGrqimprime
ä
. Si no funcionó, entonces será el mismo problema con esta configuración. Hay algo que impide que Right Alt funcione como cambio de nivel 3.Verificar el mapa actual de
dvorak
Verifique el mapeo Alt derecho, debería ser
Alt_R
Modificar
a
mapaEstablecer Alt derecho como cambio de nivel 3
Hay muchas claves que se pueden usar como ISO_Level3_Shift. Consultar opciones disponibles
Por ejemplo, si desea usar Bloq Mayús como el cambio de nivel 3, ingrese en
include "level3(caps_switch)"
lugar deinclude "level3(ralt_switch)"
.Forzar la recarga de diseños
Cambie a otro diseño y luego regrese.
Punto de control
Verificar el mapa actual de
dvorak
Verifique el mapeo Alt derecho. Debería ser
ISO_Level3_Shift
¡Ahora debería funcionar!
Comando de una línea
fuente
sudo sed -i "${pos[1]}i\ include 'level3(ralt_switch)'" /usr/share/X11/xkb/symbols/us
hace que el teclado sea inutilizable en el inicio. No puede escribir ninguna tecla en el teclado. Simplemente agrega el nivel 3 al final del entorno Dvorak en la línea 249. ¿Es la línea 249 la posición correcta?${pos[1]}
definido antes.