# [Xorg] teclas cambiadas con evdev (solucionado)

## Cereza

Buenas.

Desde que Xorg est'a usando evdev no tengo acentos ni enyes y todos los car'acteres especiales estan desordenados en X, en vt va todo bien. Si desinstalo evdev entonces X arranca sin reconocer el teclado ni el rat'on, y no puedo hacer nada, ni pasar a vt para reniciar, claro, solo apagar con el bot'on. Ya no s'e qu'e mirar, he encontrad este hilo pero yo ni siquiera tengo el archivo /etc/hal/fdi/policy/10-x11-input.fdi.

Mis use flags para Xorg:

```
[ebuild   R   ] x11-base/xorg-server-1.5.3-r5  USE="hal ipv6 nptl sdl xorg (-3dfx) -debug -dmx -kdrive -minimal -tslib"
```

Mi locale.gen:

```
es_ES@euro ISO-8859-15

es_ES.UTF-8 UTF-8
```

Mi xorg.conf

Gracias.

----------

## Cereza

Corrijo, me acabo de dar cuenta de que en vt tampoco me van los acentos, pero los caracteres especiales s'i, ugh...

----------

## gringo

 *Quote:*   

>  yo ni siquiera tengo el archivo /etc/hal/fdi/policy/10-x11-input.fdi. 

 

y has probao con crearlo ?

Si despues de crearlo sigue sin funcionar, déjanos ver el Xorg.0.log pls.

Aunque si dices que en el terminal hace lo mismo, entiendo que no es sólo un problema de las X.

saluetes

----------

## Txema

Ese archivo hay que crearlo, copiándolo desde /usr/share/hal/fdi/policy/10osvendor/10-x11-input.fdi y modificándolo a tu gusto.

Lo que no sé es si hay que hacer algo más porque yo tengo todavía los drivers antiguos que van de maravilla, mientras que el evdev este es un coñazo echarlo a andar.

Saludos.

----------

## Kuan

¿No te habrá reescrito la configuración al actualizar?

Para la consola puedes comprobar:

```
# /etc/conf.d/keymaps

# Use KEYMAP to specify the default console keymap.  There is a complete tree

# of keymaps in /usr/share/keymaps to choose from.

KEYMAP="es"

# Should we first load the 'windowkeys' console keymap?  Most x86 users will

# say "yes" here.  Note that non-x86 users should leave it as "no".

SET_WINDOWKEYS="yes"

...

```

y en las X falta la línea:

```
#/etc/X11/xorg.conf

...

Section "InputDevice"

    Identifier     "Keyboard0"

    Driver         "kbd"

    Option         "XkbLayout" "es"

EndSection

...

```

Otra solución temporal en modo gráfico es:

```
setxkbmap -layout es
```

En mi caso tampoco tengo el archivo de políticas de HAL.

Suerte.

----------

## Txema

 *Kuan wrote:*   

> y en las X falta la línea:
> 
> ```
> #/etc/X11/xorg.conf
> 
> ...

 

La gracia de evdev está en que no te lee para nada lo que le pongas en xorg.conf, ya le puedes poner que tienes cuatro teclados de colores que no le va a hacer ni caso, si quieres usar esa entrada en el xorg.conf tienes que añadir Option         "AllowEmptyInput" "False" en ServerLayout y así se desactiva evdev, que es como lo tengo yo.

Saludos

----------

## cpasoft

Como bien dice el compañero, usando hal ahora es necesario incorporar el dato de localización del teclado en el fichero de policies...

Basta con que crees un fichero en /etc/hal/fdi/policy con el nombre 10-x11-input.fdi con el siguiente contenido:

Fichero /etc/hal/fdi/policy/10-x11-input.fdi

```

<merge key="input.xkb.layout" type="string">es</merge>

```

(o tu codificación correspondiente, claro)...

Saludosss...

----------

## gringo

 *Quote:*   

> La gracia de evdev está en que no te lee para nada lo que le pongas en xorg.conf, ya le puedes poner que tienes cuatro teclados de colores que no le va a hacer ni caso, si quieres usar esa entrada en el xorg.conf tienes que añadir Option "AllowEmptyInput" "False" en ServerLayout y así se desactiva evdev, que es como lo tengo yo.

 

para eso mejor compilar xorg-server y xf86-input-evdev directamente sin soporte para hal.

Solo lo comento porque he leído ya un par de veces que el AllowEmptyInput es algo temporal que en próximas versiones de las X no estará disponible.

saluetes

----------

## Txema

 *gringo wrote:*   

>  *Quote:*   La gracia de evdev está en que no te lee para nada lo que le pongas en xorg.conf, ya le puedes poner que tienes cuatro teclados de colores que no le va a hacer ni caso, si quieres usar esa entrada en el xorg.conf tienes que añadir Option "AllowEmptyInput" "False" en ServerLayout y así se desactiva evdev, que es como lo tengo yo. 
> 
> para eso mejor compilar xorg-server y xf86-input-evdev directamente sin soporte para hal.
> 
> Solo lo comento porque he leído ya un par de veces que el AllowEmptyInput es algo temporal que en próximas versiones de las X no estará disponible.
> ...

 

Vaya, pues o hago eso o voy a tener que conseguir echar a andar evdev (no sé porque no toma la configuración de xorg.conf y se autoconfigura la primera vez...)

Creo que había una guía por estos foros en inglés, ¿alguien sabe donde está?

Saludos.

----------

## gringo

te refieres a esta ? ->  http://www.gentoo.org/proj/en/desktop/x/x11/xorg-server-1.5-upgrade-guide.xml

saluetes

----------

## Cereza

Pues ya está todo resuelto;

La solución para vt ha sido poner KEYMAP="es" en /etc/conf.d/keymaps, como ha dicho Kuan. Ésto lo debí actualizar sin darme cuenta en algún etc-update porque siempre lo he tenido bien jeje.

Y para Xorg, crear el archivo /etc/hal/fdi/policy/10-x11-input.fdi como habéis dicho y he puesto el contenido de cpasoft:

```
<merge key="input.xkb.layout" type="string">es</merge> 
```

 También he tenido que recompilar xf86-input-evdev con la use flag "hal" que no viene por defecto en mi perfil.

He probado como experimento lo de Option "AllowEmptyInput" "False", y el mapeado del teclado funcionaba bien, pero cada vez que pulsaba una tecla era como si la pulsara 3 veces :lol: 

Muchísimas gracias a todos :>

----------

