# Distribución del teclado falla. ¡sólo en java! [SOLVED]

## dryadcito

Hola,

pues el tema es curioso... tengo un sistema de 32 bits y otro de 64 en la misma máquina (el de 64 es nuevo, voy a abandonar el de 32). La distribución del teclado en ambos sistemas es la misma, el conjunto de aplicaciones instaladas es similar (prácticamente el mismo). Las use también son similares, y versiones igual, pero esto sólo pasa en el de 64 bits.

En cualquier aplicación normal puedo poner caracteres como { o [, pero en aplicaciones java no. Son aquellas que tienen ` o ', es decir, tildes, que normalmente no imprimen un carácter, sino que modifican el siguiente. Las tildes tampoco funcionan.

Lo pongo aquí porque sospecho que tiene algo que ver con la distribución española (pero a saber).

Un saludo y gracias por adelantado,

          DavidLast edited by dryadcito on Fri Mar 11, 2011 7:57 am; edited 4 times in total

----------

## dryadcito

Venga, un poco mas de luz:

* He editado: las tildes no funcionan (no hacen NADA) en Java.

* Si como variante de la distribucion española del teclado pongo "Eliminar teclas muertas" entonces funciona bien en Java, pero las tildes se imprimen solas, sin dejarme poner el caracter sobre el que deben ir, pero al menos puedo poner {

----------

## gringo

yo de java lo justito pero hasta donde sé respeta las variables de entorno de internacionalización que se cargan en el pefil del usuario o con el sistema. 

Asi que que te dice locale ejecutado por el usuario en cuestión? estás usando utf8 y que te hace su usas simplemente C ?

saluetes

----------

## dryadcito

Hola,

no he respondido antes porque es el ordenador del trabajo...

Supongo que me preguntas por esto

LANG=es_ES@euro

LANGUAGE=es_ES@euro

LC_ALL=es_ES@euro

De todas formas, es la misma configuración para la consola que para la máquina virtual Java cuando la arranco. Por otro lado, he copiado mi home de la instalación de 32 bits que tengo en la misma máquina.

No obstante, me has recordado que después del emerge -e system del principio he cambiado las USE para tenerlas como antes (como en el de 32) y ahora está unicode ahí. No sé si lo estaba al principio. Aunque me sigue sorprendiendo que sólo pase con Java y solo en la de 64, voy a probar otro emerge -e system y a ver si ocurre otro fenómeno paranormal y esto funciona sin más.

Ah, de refilón...

```
# /etc/locale.gen: list all of the locales you want to have on your system

#

# The format of each line:

# <locale> <charmap>

#

# Where <locale> is a locale located in /usr/share/i18n/locales/ and

# where <charmap> is a charmap located in /usr/share/i18n/charmaps/.

#

# All blank lines and lines starting with # are ignored.

#

# For the default list of supported combinations, see the file:

# /usr/share/i18n/SUPPORTED

#

# Whenever glibc is emerged, the locales listed here will be automatically

# rebuilt for you.  After updating this file, you can simply run `locale-gen`

# yourself instead of re-emerging glibc.

en_US ISO-8859-1

en_US.UTF-8 UTF-8

es_ES ISO-8859-1

es_ES@euro ISO-8859-15

es_ES.UTF-8 UTF-8

```

```
# /etc/rc.conf: Global startup script configuration settings

# UNICODE specifies whether you want to have UNICODE support in the console.  

# If you set to yes, please make sure to set a UNICODE aware CONSOLEFONT and 

# KEYMAP in the /etc/conf.d/consolefont and /etc/conf.d/keymaps config files.

UNICODE="yes"

# Set EDITOR to your preferred editor.

# You may use something other than what is listed here.

EDITOR="/bin/nano"

#EDITOR="/usr/bin/vim"

#EDITOR="/usr/bin/emacs"

# DISPLAYMANAGER has moved to /etc/conf.d/xdm

# XSESSION has moved to /etc/env.d/90xsession

```

----------

## dryadcito

It works!

El emerge -e system de algún modo me ha librado de esta lacra. No entiendo nada, pero cerrado está. Gracias por recordarme lo de unicode.

----------

## dryadcito

Yihaaa

Vuelve a pasar. No hice nada entre ayer y hoy, pero vuelve a ocurrir. Hay una diferencia: cambiar la distribución del teclado no tiene absolutamente ningún efecto: "Eliminar teclas muertas" es como la distribución normal, y como la de teclas muertas de Sun, es decir, no tengo forma alguna de meter una { en Java, ni jugando con la distribución.

Empiezo a dudar si me deje puesta la que antes era "la buena" pensando que había dejado la que funcionaba en Java pero no fuera.

He borrado todo el directorio de usuario para empezar de cero (antes, como dije, copié la de la instalación de 32 bits) pero tengo el mismo problema.

----------

## dryadcito

Aquí va una pieza más del puzzle:

monto el sistema de 32 bits y hago chroot. Monto la partición en la que tengo netbeans (no uso portage para netbeans, me bajo el ejecutable y lo instalo como usuario normal) en el chroot. Lanzo netbeans desde el chroot (y otras aplicaciones java igual) y reconocen la { así que asumo que... debe ser algo relacionado con la máquina virtual de java, pero ... ¿el qué?

----------

## ensarman

que distribucion del JRE usas, icedtea? o sun-jdk?

----------

## dryadcito

sun-jdk, tengo la 1.6.0.24

[ebuild   R   ] dev-java/sun-jdk-1.6.0.24

La misma en ambas máquinas (sé que insisto mucho, pero vamos, es para que no haya duda en ningún momento. Cuando encuentre alguna diferencia la resaltaré también)

----------

## ensarman

esque la verdad no le encuentro explicacion :S a menos que el mismo software este usando un determinado juego de caracters, bueno puede que tengas algun fichero de configuracion que no este bien configurado :S o algo parecido.

----------

## dryadcito

Hola,

pues buscando he visto:

https://bugs.launchpad.net/ubuntu/+source/ibus/+bug/540751

http://ubuntuforums.org/showthread.php?t=861063

El primero habla de ibus, el siguiente de scim. Como no tengo scim instalado, pero tengo 

export XMODIFIERS="@im=ibus"

en mi .xinitrc (no recuerdo haberlo puesto ahí, pero bueno), voy a pensar que la culpa le señala. Ahora sólo me queda saber qué es eso de ibus 0 :Smile: 

* Acabo de hacer dos comprobaciones mientras escribía: no tengo ibus en el sistema de 64 bits pero sí en el de 32, así que esto ya está confirmado. Sólo me queda,  a modo de curiosidad, ¿no debería haberse instalado como dependencia de algo? ¿me da alguna ventaja tenerlo? Porque sospecho que si quito ese XMODIFIERS java va a ir bien..

----------

## dryadcito

Quitando el XMODIFIERS ha bastado. Respecto al .xinitrc, supongo que fue la instalación de algún paquete, sospecho que de qt, pero no estoy seguro.

----------

