En este momento estás viendo Los nombres de las teclas de reenlace de Unity son incorrectos en el teclado azerty

 – Unity

Los nombres de las teclas de reenlace de Unity son incorrectos en el teclado azerty – Unity

Los nombres de las teclas de reenlace de Unity son incorrectos en el teclado azerty

– UnityAssets3Free

buenas , soy juansito y esta vez os traigo
esta unity pregunta

Así que tengo un script de reenlace que funciona, pero el problema es cuando quiero mostrar los nombres de las claves de reenlace.

El siguiente código devuelve los nombres correctos para un teclado qwerty, ¡pero no para un teclado azerty! Sin embargo, los enlaces son correctos ya que los controles funcionan independientemente de la distribución del teclado. Lo único roto es la pantalla, es decir, el valor ingresado en el vacío «UpdateText (clave de cadena)»:

RebindSection[j].UpdateText(InputControlPath.ToHumanReadableString(
             Actions[j].action.bindings[bindingIndex].effectivePath,
             InputControlPath.HumanReadableStringOptions.OmitDevice));

¿Alguien sabe cómo puedo obtener el nombre real de la tecla y no la ubicación de la tecla en nuestro teclado?

Editar: estoy desarrollando el juego en ubuntu, y el script que escribí arriba funciona en el editor, pero no en las compilaciones…

1 respuesta 1

Para ser franco, Unity Engine utiliza la señal de tecla física para detectar la entrada del teclado, pero dado que es un poco difícil adivinar qué significa una señal de teclado «0100100», coloca una etiqueta basada en QWERTY en las señales de tecla para que nosotros, los desarrolladores, tú al menos puede tener una idea de lo que está pasando.

El único tipo de problema que surge de este enfoque son las teclas diferenciales que existen entre los 2 tipos de teclados, como el «< >» Tecla de mayúsculas de derecha a izquierda que no siempre está presente en el teclado QWERTY. (La mayoría de los teclados AZERTY tienen una pequeña tecla de mayúsculas a la izquierda y una tecla entre esta y la tecla W con «<>«, mientras que la mayoría de los teclados QWERTY solo tienen una tecla izquierda ancha tecla Shift que cubre ambas teclas al mismo tiempo).

Aquí es donde la tecla física tiene un inconveniente, ya que en este caso el «<>» en la tecla del teclado AZERTY en realidad simplemente… falta en el teclado QWERTY. Unity puede registrar la clave (ya que tiene su propio signo único), pero eso haría que la clave fuera inaccesible en un teclado QWERTY. Estos tipos de teclas se denominan «Teclas blancas» en la jerga de desarrollo, que tiene una regla para «Nunca las use de forma predeterminada a menos que sea para una acción disponible en otro lugar. Deje que el usuario las defina si es posible».

Si desea el nombre real de la tecla basada en el teclado, puede acceder a la secuencia de teclas con el siguiente código:
Keyboard.current.KEYCODE.displayName

Reemplazar «KEYCODE» con el nombre de la tecla como «aKey» le dará la tecla física ubicada en «A» en un teclado QWERTY según el idioma y el diseño del teclado actual.

nota: si aun no se resuelve tu pregunta por favor dejar un comentario y pronto lo podremos de nuevo , muchas gracias

por hoy,espero que te funcione

Deja una respuesta