Añadir letra a teclado

csalinux csalinux en gmail.com
Lun Feb 5 18:02:29 GMT 2007


Víctor escribió:
> Hola.
> 
> Necesito poder escribir tanto en bash como en emacs la letra alemana
> "ß" o eszett, cosa que sería genial hacer sin tener que cambiar al teclado
> alemán.
> He estado buscando por internet pero no he encontrado nada relevante,
> y en cuanto a comandos, he estado mirando dumpkeys, showkey,
> loadkeys y keymaps, pero no me he aclarado mucho. Hasta donde he visto
> debe de haber unos archivos keymaps con la relación tecla carácter/efecto
> pero no consigo encontrarlos. Utilizo Kubuntu Edgy(6.10).
> ¿Cómo puedo hacer esto?
> 
> Gracias.
> 

Hace tiempo envié esto a SuSEmanía. A ver si te es útil.

DANDO UTILIDAD A LAS TECLAS MULTIMEDIA MUERTAS DE NUESTRO TECLADO

Bueno, ya conseguí darle utilidad a las teclitas multimedia. Ahora solo
me queda hacer funcionar mi escaner paralelo para no tener que usar más
otros sistemas operativos; pero eso será otra historia. Os cuento cómo
lo he hecho en SuSE 9.0, aunque en teoría debería funcionar para
cualquier distribución.


INTRODUCCIÓN

Las teclas multimedia que traen los nuevos teclados aunque no funcionen
puede que estén mapeadas para XFREE y por tanto darles "vida" en nuestro
ordenador con linux.

Bueno os cuento cómo lo he hecho.

Si el mapeado de los botoncitos del teclado está hecho entonces es muy
fácil.

Cada tecla si está mapeada está asociada a un keycode:

Demostración:

- Abre consola
- Teclea xev
- Pulsa intro

y por ejemplo teclea la a y verás que sale lo siguiente:

KeyPress event, serial 25, synthetic NO, window 0x3400001,
    root 0x49, subw 0x0, time 600363, (-505,135), root:(163,367),
    state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes:  "a"

KeyRelease event, serial 25, synthetic NO, window 0x3400001,
    root 0x49, subw 0x0, time 600509, (-505,135), root:(163,367),
    state 0x10, keycode 38 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes:  "a"

Salen dos "event" o eventos el de apretar y soltar. Se puede ver en la
tercera linea que el código asociado a la letra a es "keycode 38".

Si hacemos lo mismo con las teclas multimedia y en consola puedes
recoger un keycode, con el método que explico "resucitaremos" las teclas
multimedia que  en otros sistemas operativos funcionan y en SuSE 9.0
hasta hoy no.


IDENTIFICACIÓN DE KEYCODES DE LAS TECLAS MULTIMEDIA

Bueno, pues vamos probando todas las teclas que no nos funcionan y
apuntamos sus keycodes para darles después una función. Si alguna no
funciona podemos abandonar ya este método, pero si funcionan todas o la
mayoría mejor seguimos.

En la consola que tenemos corriendo xev apretamos una por una las teclas
multimedia y anotamos su nombre -que viene escrito en el teclado- y su
keycode de respuesta que obtenemos en la consola.


ASIGNACIÓN DE FUNCIONES A LAS TECLAS MULTIMEDIA

Una vez que tengamos nuestra tablita con las teclas multimedia y sus
keycodes cerramos la consola.

En principio le vamos a dar un nombre que no coincida con ninguna tecla
así que empezacmos por F14, y nos vamos a ayudar del programa xmodmap

Vale.

- Abrimos consola
- tecleamos xmodmap -e 'keycode 38=F13'
- le damos a enter.

Bueno esta tecla la a ahora está mapeada como una tecla ficticia que se
llama F13, también podríamos haber puesto xmodmap -e 'keycode 38=e' y
entonces la tecla pasaría a funcionar como un e.

Esto lo hacemos con tantas teclas como queramos asignarle una función y
luego nos vamos a con el ratón al símbolo del menú de KDE y con el botón
derecho del ratón hacemos click y elegimos editor de menú. Una vez allí
elegimos una aplicación y le asignamos una tecla de acceso rápido a
cualquier aplicación.
Nosotros claro, elegiremos una tecla que hayamos mapeado la F13 por
ejemplo, y cuando la utilicemos podremos arrancar directamente una
aplicación que queramos.

Si queremos darle función a las teclas de navegación de internet en
konqueror nos permite asociar también algunas funciones a una tecla, y
lo mismo sucede con algunos mezcladores de sonido.

Bonito ¿no?

Solo hay un pequeño problema que una vez que salgamos de la sesión de
KDE perdemos el seteo que hemos hecho del teclado. ¡Vaya!, ¿algo se
podrá hacer?
Pues sí :-)

El método es editar una archivo en home/tucuenta que se llame: .Xmodmap
-cuidado con el punto- con el siguiente contenido:

keycode X=F13
keycode Y=F14
keycode Z=F15
keycode K=F16
 ....

donde X, Y, Z, K, etc. son los keycodes que hemos obtenido de cada una
de nuestras teclas multimedia y que tenemos inútiles.

Lo guardamos en /home/tucuenta y abrimos consola

tecleamos xmodmap .Xmodmap
y le damos intro
Y ya está :-)

Esto hará que cada vez que iniciemos la sesión de KDE se ponga el
setting del teclado que queremos... ahora en KDE o en YaST, en
konqueror, en el mezclador de sonido, en el Xine o en cualquier programa
que nos lo permita le asociamos a una función que queramos y listo.


ACLARACIÓN:

Información obtenida de diversas páginas de internet.

-- 

Saludos.

César

--

"Primero fueron a por los judíos, y yo no hablé porque no era judío.
Después fueron a por los comunistas, y yo no hablé porque no era
comunista. Después fueron a por los católicos, y yo no hablé porque
era protestante. Después fueron a por mí, y para entonces ya no quedaba
nadie que hablara por mí."

(Martin Niemöller)



Más información sobre la lista de distribución ubuntu-es