[RESOLU] Unity new input system azerty/qwerty

Questions à propos du scripting. Hors Shader, GUI, Audio et Mobile.
Répondre
Avatar de l’utilisateur
Saeko
Messages : 77
Inscription : 17 Mars 2013 12:02
Localisation : Inconnu

[RESOLU] Unity new input system azerty/qwerty

Message par Saeko » 09 Mars 2021 14:25

Bonjour, je suis entrain d'essayer de prendre en main le nouveau system d'input de unity et je suis déjà entrain de m'arracher les cheveux au bout d'1H

Mon probleme et que sans aucune raison valable unity transform mes touches azerty en qwerty

Ici configuration très simple, un simple cube avec le component player input attaché

Image

Mon player input est configuré avec 4 actions de façon suivante

Forward = Z
Backward = S
Left = Q
Right = D

Ici le script

Image


Mais voilà que une fois le play mod activé, ma touche Z et Q ne fonctionne pas et que pour avancer et aller à gauche c'est bien la touche A et W (d'un clavier qwerty) qu'il est question, POURQUOI!? il n'est jamais question de la touche W ni A dans mon projet, à l'époque je me souviens avant l'existence de ce nouveau system c'était récurent de devoir aller changer des input dans les préférences ou je ne sais quoi car unity prenait le qwerty par défault, qu'est ce qui fait que la touche A ou W est prise en compte alors que j'ai bien configuré les input avec Z et Q.... :rougefaché:
Dernière édition par Saeko le 09 Mars 2021 16:08, édité 1 fois.
Hier, c’est déjà de l’histoire. Demain est un mystère. Mais aujourd’hui est un cadeau, c'est pourquoi nous le nommons le Présent.

Avatar de l’utilisateur
DevAmat
Messages : 390
Inscription : 23 Nov 2016 11:50

Re: Unity new input system azerty/qwerty

Message par DevAmat » 09 Mars 2021 14:38

Salut,

Faudrait nous montrer comment tu as mappé les touches dans ton "InputActions". Lorsque tu attribues une touche du clavier, c'est par rapport au layout QWERTY, mais normalement tu n'a rien à faire pour que cela fonctionne sur un AZERTY.

Donc dans ton "InputActions" pour aller en avant tu va attribuer la touche "W" et sur ton clavier FR cela sera bien la touche "Z" qui te permettras d'aller en avant.

Il y a un projet exemple bien foutu:
https://www.youtube.com/watch?v=5tOOstXaIKE

https://github.com/UnityTechnologies/In ... form-input

Avatar de l’utilisateur
Saeko
Messages : 77
Inscription : 17 Mars 2013 12:02
Localisation : Inconnu

Re: Unity new input system azerty/qwerty

Message par Saeko » 09 Mars 2021 14:52

DevAmat a écrit :
09 Mars 2021 14:38
Salut,

Faudrait nous montrer comment tu as mappé les touches dans ton "InputActions".
Les screen ne s'affiche pas chez vous ? (je les héberge sur une discutions avec un bot sur discord y peut être un soucis) ou ce "input actions" est différent de ce qu'il y a tout en bas a gauche de mon premier screen ?

DevAmat a écrit :
09 Mars 2021 14:38

Donc dans ton "InputActions" pour aller en avant tu va attribuer la touche "W" et sur ton clavier FR cela sera bien la touche "Z" qui te permettras d'aller en avant.

Dans mon inputs action, à l'action forward, dans binding => path je presse la touche Z de mon clavier, c'est la touche Z qui apparait dans la box , je valide.

Image

Une fois en game c'est la touche W que je vais devoir presser pour activer mon action ?


Image


Bon aniway je vais aller voir ce projet de input viking, je vais voir ce qu'il en est.
Hier, c’est déjà de l’histoire. Demain est un mystère. Mais aujourd’hui est un cadeau, c'est pourquoi nous le nommons le Présent.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 5573
Inscription : 28 Avr 2014 11:57
Localisation : Toulouse

Re: Unity new input system azerty/qwerty

Message par boubouk50 » 09 Mars 2021 15:09

Je n'ai encore jamais touché au nouvel input system mais est-ce que définir/forcer la localisation pourrait être la solution?
Déjà, vérifie quelle langue est utilisée dans ton cas, voir si ce n'est pas l'anglais, qui changerait les touches.
https://docs.unity3d.com/ScriptReferenc ... guage.html

Sinon, ne faudrait-il pas définir les touches QWERTY (et pas AZERTY) dans l'input system et ensuite, Unity se démerde pour corréler tout cela en fonction de la langue?
Ca semble crédible.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Avatar de l’utilisateur
DevAmat
Messages : 390
Inscription : 23 Nov 2016 11:50

Re: Unity new input system azerty/qwerty

Message par DevAmat » 09 Mars 2021 15:15

@Saeko, pardon j'ai pas bien regardé le screen, tout s'affiche bien.

@boubouk50 Oui c'est comme cela que le system fonctionne. Faut assigner les touches en s'imaginant avoir un clavier QWERTY. Donc en assignant "W" dans "InputActions", à l'utilisation sur un clavier FR cela correspondra bien à la touche "Z".

Lorsque tu assignes ta touche, si tu ne passes pas par le recherche ils précise bien que la touche clavier est par rapport à un layout QWERTY.

Avatar de l’utilisateur
Saeko
Messages : 77
Inscription : 17 Mars 2013 12:02
Localisation : Inconnu

Re: Unity new input system azerty/qwerty

Message par Saeko » 09 Mars 2021 15:25

DevAmat a écrit :
09 Mars 2021 15:15
@Saeko, pardon j'ai pas bien regardé le screen, tout s'affiche bien.

@boubouk50 Oui c'est comme cela que le system fonctionne. Faut assigner les touches en s'imaginant avoir un clavier QWERTY. Donc en assignant "W" dans "InputActions", à l'utilisation sur un clavier FR cela correspondra bien à la touche "Z".

Lorsque tu assignes ta touche, si tu ne passes pas par le recherche ils précise bien que la touche clavier est par rapport à un layout QWERTY.
Bon ben si c'est comme ça c'est comme ça, je vais me faire violence pour configurer tout ça avec en tête un clavier qwerty. Merci encore pour les réponses en tout cas, j'apprécie!
DevAmat a écrit :
09 Mars 2021 15:15
Lorsque tu assignes ta touche, si tu ne passes pas par le recherche ils précise bien que la touche clavier est par rapport à un layout QWERTY.
Je suis aller verifier et oui c'est effectivement ça :

Image

Minute papillon! J'ai peut être découvert un truc ?

si je passe par le second truc "by character mapped to key" pour sélectionner la touche Z

Image
Image
Image


ça me le met entre " " et une fois en play ben... ça fonctionne ??? on m'explique ? :hehe:
Hier, c’est déjà de l’histoire. Demain est un mystère. Mais aujourd’hui est un cadeau, c'est pourquoi nous le nommons le Présent.

Avatar de l’utilisateur
DevAmat
Messages : 390
Inscription : 23 Nov 2016 11:50

Re: Unity new input system azerty/qwerty

Message par DevAmat » 09 Mars 2021 15:48

Okey intéressant. j'ai trouvé ce sujet avec une réponse "officielle":
https://forum.unity.com/threads/new-inp ... ed.912074/

Lorsque tu utilises "By Character Mapped to Key", Unity va tenter de rechercher la touche qui génère le charactère que tu as entré d'où la présence des " ".
Donc si tu choisis cette option, tu auras un souci de touches avec un clavier QWERTY :aille2: .

Avatar de l’utilisateur
Saeko
Messages : 77
Inscription : 17 Mars 2013 12:02
Localisation : Inconnu

Re: Unity new input system azerty/qwerty

Message par Saeko » 09 Mars 2021 16:03

DevAmat a écrit :
09 Mars 2021 15:48
Donc si tu choisis cette option, tu auras un souci de touches avec un clavier QWERTY :aille2: .
Pas de solution magique donc :hehe:


Je vais revenir sur ta première solution et partir sur un clavier qwerty, si j'ai besoin de transférer tout ça vers un autre system de control je sens que je vais moins m'embêter X|
Hier, c’est déjà de l’histoire. Demain est un mystère. Mais aujourd’hui est un cadeau, c'est pourquoi nous le nommons le Présent.

Avatar de l’utilisateur
boubouk50
ModoGenereux
ModoGenereux
Messages : 5573
Inscription : 28 Avr 2014 11:57
Localisation : Toulouse

Re: Unity new input system azerty/qwerty

Message par boubouk50 » 09 Mars 2021 16:48

Saeko a écrit :
09 Mars 2021 16:03
Je vais revenir sur ta première solution et partir sur un clavier qwerty
C'est la solution à mon avis.
Comme ça quelle que soit la configuration du clavier (Dvorak, Qw, Az, etc) cela fonctionnera toujours avec les mêmes positions des touches et pas des lettres.
"Ce n'est pas en améliorant la bougie, que l'on a inventé l'ampoule, c'est en marchant longtemps."
Nétiquette du forum
Savoir faire une recherche
Apprendre la programmation

Avatar de l’utilisateur
jmhoubre
Messages : 407
Inscription : 05 Oct 2019 22:05

Re: [RESOLU] Unity new input system azerty/qwerty

Message par jmhoubre » 09 Mars 2021 23:18

Dans la doc :
The location of individual keys is agnostic to keyboard layout. This means that, for example, the A key is always the key to the right of the Caps Lock key, regardless of where the currently active keyboard layout places the key that generates an a character, or whether or not the layout doesn't have a key assigned to that character.
To query which (if any) character is generated by a given key, use the key Control's displayName property. The value of this property changes automatically when the OS changes the keyboard layout.

Répondre

Revenir vers « Scripting »