Objetivo:
Me gustaría asignar Alt a la tecla Bloq Mayús y Meta a la tecla Alt. Pero de esa manera, Alt-key ya no se reconocería como Alt, y CapsLock-key ya no se reconocería como CapsLock.
openSUSE 11.4
Previamente:
openSUSE 11.1: como soy el único usuario de mi computadora, "simplemente" edité el archivo / usr / share / X11 / xkb / keycodes / xfree86 y funcionó sin problemas. Las llaves estaban conectadas a sus símbolos en el nivel más bajo.
Problemas:
xkb
Creé una variante de diseño polaco (pl_ext) que (para prueba) consta de tales entradas:
key <CAPS> { [ Alt_L ] }; modifier_map Mod1 { Alt_L, Alt_R };
Sin embargo, esto simplemente no hace nada, la tecla CapsLock en xev se reconoce (símbolo) como Alt_L, pero cuando presiono la tecla CapsLock se comporta como CapsLock (por ejemplo, suponiendo que tenga File en el menú, Alt + F debería abrir este menú, no )
Pregunta: ¿Cómo definir un archivo de diseño para configurar la tecla Bloq Mayús como Alt y la tecla Alt como Meta?
Editar: ¡La mitad del éxito aquí! Ahora tengo tales entradas:
key <CAPS> { [ Alt_L ] }; modifier_map Mod1 { <CAPS> }; // this is a difference
Y esto funciona como se desea. Esto no lo hace:
key <LALT> { [ Meta_L ] } ; key <RALT> { [ Meta_R ] } ; modifier_map Mod5 { <LALT>,<RALT> };
Las teclas Alt son reconocidas como Meta por xev, pero aún puedo abrir los menús con Alt + F, cambiar de ventana, y no debería. Y, por otro lado, no puedo ingresar ningún carácter nacional, y debería.
xfree86
Pero ahora esto no funciona, supongo que se lee otra tabla de archivos en lugar de xfree86.
Pregunta: ¿Cómo averiguar qué archivo de tabla de códigos clave utiliza el sistema (X / Gnome)?
Editar: ¡ La mejor opción para mí, editar tablas de códigos de teclas, se resolvió con la respuesta de Macías !
xmodmap
La mitad del éxito aquí. Esta parte funciona según lo deseado:
eliminar Lock = Caps_Lock keysym Caps_Lock = Alt_L
Ahora, tengo realmente la tecla Bloq Mayús que está asignada a Alt. Pero esto:
keysym Alt_L = Meta_L
... hace algo extraño. xev muestra que la tecla Alt está asignada a Meta, pero cuando presiono Alt + F (esto debería asignarse a Meta + F -> no hacer nada) se abre el menú Archivo. Además, cuando presiono Alt + Tabulador, obtengo un conmutador de ventanas (no debería, Alt es Meta ahora).
Pregunta: ¿Cómo "eliminar" el comportamiento anterior de Alt-key?
Editar: Esta parte se resuelve con la respuesta de Gilles .
Resumen:
Responder cualquier pregunta resolvería (con suerte) mi problema, sin embargo, prefiero usar xkb por completo porque podría empaquetar todos los archivos para xkb y cambiar el diseño en un solo lugar. ¡Gracias de antemano por cualquier ayuda!
Respuestas:
(Esta respuesta es solo sobre xmodmap. Estoy seguro de que es posible hacer esto con XKB, simplemente no sé cómo hacerlo).
Los modificadores y los keyyms se asignan de forma independiente. Pero obtienes efectos extraños si no los configuras consistentemente. Creo que todo lo que falta es el
add
comando para asignar un modificadorMeta_L
, aunque es posible que también deba borrar y reasignar las teclas modificadoras. Puede reemplazarMod1
yMod2
porMod3
,Mod4
yMod5
: son intercambiables, solo asegúrese de no usar uno para dos propósitos diferentes.fuente
keysym Caps_Lock = Alt_L
es que si lo ejecuta dos veces, vuelve a poner el sistema en un estado no deseado. Por eso uso códigos de teclas ; varían entre sistemas operativos y arquitecturas (no entre teclados), pero no con tanta frecuencia.Enfoque de edición de códigos clave
Encontré la respuesta en el foro polaco de Ubuntu. Ahora no se edita el archivo "xfree86" sino el archivo "evdev". De esta manera, puede realizar cambios permanentes que funcionen para todos los diseños.
Ejemplo (a petición de Gilles): inicie sesión como root, vaya a
haga una copia de seguridad del archivo "evdev" y luego edítelo. Cambie los códigos a su gusto, por ejemplo en mi caso:
Puede encontrar los códigos ejecutando el comando "xev", pero simplemente puede mirar el archivo original "evdev".
Cierre sesión, inicie sesión, disfrute de su nuevo teclado :-).
fuente
Keyboard Preferences
opciones paraCapslock
anular laXKB
configuración personalizada que escribo. Como se trata de un botón de selección de selección, no hay forma de que pueda evitar que se aplique una de las reglas de la GUI.prueba esto:
tenga en cuenta las dos definiciones de nivel. Esto se debe a que el valor predeterminado para LALT es [Alt_L, Meta_L]; Si no redefine el segundo, seguirá siendo Meta_L.
Mire esta respuesta en xkb para ver cómo redefinir algunas claves sin necesidad de editar los archivos predeterminados principales (por lo tanto, no es necesario ser root). En tal caso, necesitará en el archivo de símbolos locales una pequeña sección como:
fuente