Diferencias
Muestra las diferencias entre dos versiones de la página.
— | desarrollo:informatica:contenidos:linux-keymaps [2012/05/26 10:54] (actual) – creado - editor externo 127.0.0.1 | ||
---|---|---|---|
Línea 1: | Línea 1: | ||
+ | ~~NOCACHE~~ | ||
+ | ====== Modificar Teclados en Linux ====== | ||
+ | |||
+ | ===== La Idea ===== | ||
+ | |||
+ | El propósito de esta entrada es ver cómo asignar distintos significados a las teclas del teclado bajo sistemas Linux. Con esta técnica es posible lograr cosas como: | ||
+ | |||
+ | * identificar y asignar símbolos especiales a cada tecla física del teclado. | ||
+ | * asignar funciones al gestor de ventanas ante el uso de ciertas teclas modificadoras. | ||
+ | * Dar usos personalizados a teclas que no tienen mucho uso en Linux, como las " | ||
+ | * etc. | ||
+ | |||
+ | En Linux, específicamente bajo X.org, a cada //tecla física// del teclado, se le asigna un conjunto de símbolos llamados en inglés **keysyms**. Estos keysyms son " | ||
+ | |||
+ | La configuración de qué símbolos están asociados a cada tecla depende de la distribución de teclado y de las banderas modificadoras disponibles, | ||
+ | |||
+ | La aplicación responsable de asignar esos símbolos a cada tecla e informar los cambios es **xmodmap**, | ||
+ | |||
+ | Si podemos asignar los **keysyms** o símbolos de teclado que deseamos, luego es cuestión de usar las opciones de **atajos globales** que incluya nuestro gestor de ventanas (Gnome, KDE, XFCE), para asignarles funciones de alto espectro (como ejecutar aplicaciones o enviar comandos), o podemos asignarles significados específicos dentro de las opciones de cada aplicación. | ||
+ | |||
+ | ===== Prerequisitos ===== | ||
+ | |||
+ | Los siguientes paquetes y aplicaciones deben estar instalados en el sistema antes de continuar: | ||
+ | |||
+ | * **xmodmap**, | ||
+ | * Para los usuarios de KDE, KDE 3.0 o superior, y SCIMd eshabilitado. | ||
+ | * Para los usuarios de XFCE, XFCE 4.4.0 o superior, y GTK 2.10 o superior para evitar un bug de Compose. | ||
+ | * Para los usuarios de GNome, GTK+ 2.4 o superior, recomendado 2.10 o superior para evitar un bug de Compose. | ||
+ | |||
+ | Los pasos a continuación asumen que se está utilizando el archivo '' | ||
+ | |||
+ | Lo primero es obtener la configuración actual del teclado. Desde una consola gráfica ejecutar lo siguiente: | ||
+ | |||
+ | <code bash> | ||
+ | xmodmap -pke > $HOME/ | ||
+ | </ | ||
+ | |||
+ | El archivo resultante tiene la estructura siguiente: | ||
+ | |||
+ | < | ||
+ | keycode | ||
+ | keycode | ||
+ | |||
+ | |||
+ | keycode | ||
+ | keycode | ||
+ | keycode | ||
+ | keycode | ||
+ | keycode | ||
+ | keycode | ||
+ | keycode | ||
+ | keycode | ||
+ | keycode | ||
+ | keycode | ||
+ | ... | ||
+ | add mod1 = Alt_L | ||
+ | add mod2 = Num_Lock | ||
+ | add mod4 = Super_L | ||
+ | add mod5 = Mode_switch | ||
+ | </ | ||
+ | |||
+ | ===== Modificando la Configuración de Teclado ===== | ||
+ | |||
+ | Para modificar la configuración del teclado, solo debemos modificar a nuestro gusto el archivo generado anteriormente y luego recargarlo con '' | ||
+ | |||
+ | Dependiendo de lo que queramos hacer las estrategias son claramente diferentes. | ||
+ | |||
+ | ==== Las Teclas Modificadoras ==== | ||
+ | |||
+ | Linux dispone de varias **teclas modificadoras**, | ||
+ | |||
+ | En un archivo de configuración de Xmodmap lo primero que se hace es __limpiar los significados de las modificadoras__: | ||
+ | |||
+ | < | ||
+ | clear mod1 | ||
+ | clear mod2 | ||
+ | clear mod3 | ||
+ | clear mod4 | ||
+ | clear mod5 | ||
+ | </ | ||
+ | |||
+ | Y después les asignamos el significado que deseemos, el cual debe ser el conjunto de Keycodes que " | ||
+ | |||
+ | Para asignar los significados se usa la sintaxis '' | ||
+ | |||
+ | < | ||
+ | add mod1 = Alt_L | ||
+ | add mod2 = Num_Lock | ||
+ | add mod4 = Super_L | ||
+ | add mod5 = Mode_switch | ||
+ | </ | ||
+ | |||
+ | En este ejemplo, se usa "Alt Izquierdo" | ||
+ | < | ||
+ | ... | ||
+ | keycode | ||
+ | keycode | ||
+ | keycode | ||
+ | ... | ||
+ | </ | ||
+ | |||
+ | Veremos que las teclas corresponden físicamente como sigue (por ejemplo): | ||
+ | |||
+ | * Alt Izquierdo a la izquierda de la Barra Espaciadora | ||
+ | * Super Izquierdo es la Tecla Windows Izquierdo | ||
+ | * Mode Switch es la tecla AltGr | ||
+ | |||
+ | una vez grabado entonces el .Xmodmap y puesto en acción, se activarán las modificadoras: | ||
+ | |||
+ | En el ejemplo se ha visto que existe la señal (por poner un ejemplo) '' | ||
+ | |||
+ | ==== Valores de keysyms disponibles ==== | ||
+ | |||
+ | Para chequear los valores de keysyms disponibles puedes revisar [[.: | ||
+ | |||
+ | Algunos de los keysyms especiales más comunes los he reproducido en esta lista: | ||
+ | |||
+ | ^ Keysym | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | | '' | ||
+ | |||
+ | |||
+ | ==== El formato de .Xmodmap ==== | ||
+ | |||
+ | <code bash> | ||
+ | keycode X = key Shift+key | ||
+ | </ | ||
+ | |||
+ | En otras palabras, una línea como la siguiente: | ||
+ | |||
+ | '' | ||
+ | |||
+ | Es interpretada de la siguiente forma: | ||
+ | |||
+ | ^Tecla 41 (" | ||
+ | | Level 1 | '' | ||
+ | | Level 2 (" | ||
+ | | Level 3 (" | ||
+ | |||
+ | El modificador **AltGr** funciona invocando el llamado "Grupo 2", mientras que el modificador **ISO_Level3_Shift**, | ||
+ | |||
+ | En este punto ya estás capacitado para asigna caracteres especiales a cualquier combinación '' | ||
+ | |||
+ | < | ||
+ | keycode 26 = e E | ||
+ | keycode 29 = y Y | ||
+ | </ | ||
+ | |||
+ | ===== Cargando con la Sesión ===== | ||
+ | |||
+ | Dependiendo del entorno gráfico utilizado, cambia la estrategia para cargar las nuevas reglas de '' | ||
+ | |||
+ | < | ||
+ | xmodmap $HOME/ | ||
+ | </ | ||
+ | |||
+ | La locación del archivo '' | ||
+ | |||
+ | Otras formas, dependiendo del escritorio utilizado, son: | ||
+ | |||
+ | ==== XFCE ==== | ||
+ | |||
+ | * Editar el startup en '' | ||
+ | * Agregar la invocación '' | ||
+ | |||
+ | ==== GNome ==== | ||
+ | |||
+ | * Actualizar las bibliotecas GTK+ a '' | ||
+ | * Editar el startup en '' | ||
+ | * Agregar la invocación '' | ||
+ | |||
+ | ==== KDE ==== | ||
+ | |||
+ | ==== Fluxbox ==== | ||
+ | |||
+ | |||
+ | ===== Temas Relacionados ===== | ||
+ | |||
+ | * [[.: | ||
+ | * [[.: | ||
+ | * [[.: | ||
+ | * [[.: | ||
+ | |||
+ | ====== Fuentes ====== | ||
+ | |||
+ | |||
+ | * [[http:// | ||
+ | * '' | ||
+ | * '' | ||
+ | * Experimentación con el notebook de mi familia. | ||
+ | |||
+ | |||
+ | |||
+ | ====== Progreso ====== | ||
+ | |||
+ | < | ||
+ | |||
+ | |||
+ | {{indexmenu_n> | ||
+ | {{tag> | ||
+ | |||