LightDM : Configurer la disposition clavier

Bonjour à tous,

Je débute sous Debian depuis peu. J’ai cependant un soucis de disposition clavier avec LightDM.

Configuration :
[ul][li]OS : Linux SorePC 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1 (2015-05-24) x86_64 GNU/Linux[/li]
[li]Gestionnaire de connexion : LightDM[/li]
[li]Environnement de bureau : Cinnamon[/li]
[li]Clavier : Logitech K800[/li][/ul]

Bien que j’ai sélectionné le Français durant l’installation, la disposition du clavier était en QWERTY au redémarrage.
Pour résoudre le problème, j’ai changé la disposition clavier dans Cinnamon (Français variante obsolète -> Français), qui a réglé une grosse partie du problème (Cinnamon et console OK).
À partir du cahier de l’administrateur Debian, la reconfiguration du paquet keyboard-configuration m’a remis la disposition clavier en QWERTY. J’ai remis la disposition par défaut soit Français (variante obsolète).
Le fichier de configuration /etc/lightdm/lightdm.cong est entièrement commenté par défaut et je ne vois pas ce qu’il faudrait changer (ça change des configurations Windows).

Ma question est : Comment configurer la disposition clavier pour lightdm ?
La locale utilisée est fr_FR.UTF8 sans autre choix (ce qui me convient parfaitement).

Je vous remercie de votre aide.

bonjour.

une petite recherche donne:

https://wiki.debian.org/fr/Keyboard

http://www.smnet.fr/wheezy/wheezy-parametrage.html

Merci avram pour ta réponse, mais ce n’était pas la solution.

Avec toutes ces informations, je n’ai aucun soucis pour changer la disposition clavier de la console ou de Cinnamon, mais LightDM reste en QWERTY dans tous les cas.

Puisque je suppose que tu as fait :

dpkg-reconfigure console-data dpkg-reconfigure keyboard-configuration Quel est maintenant le retour de la commande ?

C’est le cas, en effet.
/etc/default/keyboard contient :
[i]
XKBMODEL="pc105"
XKBLAYOUT=“fr"
XKBVARIANT=“latin9"
XKBOPTIONS=””

BACKSPACE=“guess”[/i]

La reconfiguration de console-data comme attendu change la disposition clavier pour la console mais pas celle de LightDM.
La reconfiguration de locales m’a montré que fr_FR.UTF-8 existe déjà, dans le doute, je l’ai recréé. Une locale définie une disposition clavier ?
La reconfiguration de keyboard-configuration change les valeurs contenu dans /etc/default/keyboard. J’ai essayé plusieurs variantes (oss, bépo…) sans succès.

Puisque mon problème concerne LightDM, la machine est rebooté à chaque fois.

https://wiki.archlinux.org/index.php/LightDM#Wrong_locale_displayed

Le fichier n’a aucune influence sur le système. Seule la locale par défaut (choisi en reconfigurant locales) est effective.

J’ai d’ailleurs créé plusieurs locales (une Suisse et une Japonaise). Bien qu’elles apparaissent dans le petit menu en haut à droite de LightDM, peu importe ce que je choisi, je me connecterai toujours avec la locale par défaut.

Par contre, j’ai trouvé un rapport de bug confirmé : https://bugs.launchpad.net/ubuntu/+source/unity-greeter/+bug/934100
Du coup, je ne sais plus si je suis mauvais ou si c’est juste LightDM qui merde.

[quote=“Sore”]…Une locale définie une disposition clavier ?…[/quote] Non, mais un clavier aura besoin des caractères définis par les locales sinon il serait impossible de configurer un clavier français (par exemple) pour qu’il puisse transmettre des caractères accentués si les locales sont définies en US ASCII (ou autre que fr).

=======
L’installation d’une machine virtuelle [mono]debian jessie cinnamon[/mono] viens juste de se terminer sur ma machine => Aucun problème avec LightDM.

Je te transmets le contenu du fichier [mono]/etc/default/keyboard[/mono] de cette machine virtuelle dont le clavier, qui est en disposition (layout) [mono]suisse romand[/mono],

fonctionne parfaitement en fin d’installation, aussi bien en console mode texte (Ctrl+Alt+F1 à F6) qu’en mode graphique (Alt+F7 pour retourner sous X).

[code]michel@debcinna:~$ cat /etc/default/keyboard

KEYBOARD CONFIGURATION FILE

Consult the keyboard(5) manual page.

XKBMODEL="pc105"
XKBLAYOUT=“ch"
XKBVARIANT=“fr"
XKBOPTIONS=””

BACKSPACE="guess"
michel@debcinna:~$ [/code]
Le fichier de mappage clavier qui a été “compilé” pour la configuration de ce clavier en [mono]fr_CH[/mono] (Histoire de comparer la “taille” du fichier avec le tien):

michel@debcinna:~$ ls -l /etc/console-setup/*kmap.gz -rw-r--r-- 1 root root 4447 jui 16 06:13 /etc/console-setup/cached_UTF-8_del.kmap.gz michel@debcinna:~$
Le retour de la commande [mono]locale[/mono] :

michel@debcinna:~$ locale LANG=fr_CH.UTF-8 LANGUAGE=fr_CH:fr LC_CTYPE="fr_CH.UTF-8" LC_NUMERIC="fr_CH.UTF-8" LC_TIME="fr_CH.UTF-8" LC_COLLATE="fr_CH.UTF-8" LC_MONETARY="fr_CH.UTF-8" LC_MESSAGES="fr_CH.UTF-8" LC_PAPER="fr_CH.UTF-8" LC_NAME="fr_CH.UTF-8" LC_ADDRESS="fr_CH.UTF-8" LC_TELEPHONE="fr_CH.UTF-8" LC_MEASUREMENT="fr_CH.UTF-8" LC_IDENTIFICATION="fr_CH.UTF-8" LC_ALL= michel@debcinna:~$

=======
NOTE : Pour cette installation, j’ai utilisé l’image ISO netinstall amd64 et les dépôts proposés par défaut au cours de l’installation => situés en Suisse. (désolé : j’ai pas noté l’adresse…)

Entre temps, je suis parti dans la même direction que toi MicP.
J’ai été très surpris de découvrir que par virtualisation les dispositions clavier fonctionnent toutes dans toutes les situations possibles que j’ai pu expérimenté hier.
Puisque VirtualBox émule le matériel, le problème est devenu tout de suite plus clair. Je viens de remplacer mon clavier K800 par un vieux clavier noname standard en PS/2 et là tout s’est mis à fonctionner parfaitement… Là où je ris jaune est lorsque mes deux claviers sont branchés, le tout fonctionne parfaitement également.

La kmap est un poil plus lourd de mon côté :

La locale que j’ai depuis l’installation :

LANG=fr_FR.UTF-8 LANGUAGE= LC_CTYPE="fr_FR.UTF-8" LC_NUMERIC="fr_FR.UTF-8" LC_TIME="fr_FR.UTF-8" LC_COLLATE="fr_FR.UTF-8" LC_MONETARY="fr_FR.UTF-8" LC_MESSAGES="fr_FR.UTF-8" LC_PAPER="fr_FR.UTF-8" LC_NAME="fr_FR.UTF-8" LC_ADDRESS="fr_FR.UTF-8" LC_TELEPHONE="fr_FR.UTF-8" LC_MEASUREMENT="fr_FR.UTF-8" LC_IDENTIFICATION="fr_FR.UTF-8" LC_ALL=

Le problème est à moitié résolu maintenant que la cause est connue.

Juste pour préciser que ton retour de la commande [mono]locale[/mono] corresponds tout-à fait à toutes les installations que j’ai fait jusqu’à maintenant,

c’est seulement sur cette toute dernière installation de [mono]debian cinnamon[/mono] en virtuel (qemu-kvm) que la variable [mono]LANGUAGE=fr_CH:fr[/mono] n’est pas vide.

J’en referai une ou deux de plus pour essayer de savoir ce qui s’est passé, mais c’est un autre problème.

Donc, ne pas tenir compte de cette différence de variable pour l’instant, d’autant que si tout fonctionne chez toi… :smiley:

=======
Il faudrait sans doute refaire le [mono]initramfs[/mono] pour qu’il prenne en compte la modification.

[quote=“MicP”]Juste pour préciser que ton retour de la commande [mono]locale[/mono] corresponds tout-à fait à toutes les installations que j’ai fait jusqu’à maintenant,[/quote]Parfait !

[quote=“MicP”]c’est seulement sur cette toute dernière installation de [mono]debian cinnamon[/mono] en virtuel (qemu-kvm) que la variable [mono]LANGUAGE=fr_CH:fr[/mono] n’est pas vide.

J’en referai une ou deux de plus pour essayer de savoir ce qui s’est passé, mais c’est un autre problème.[/quote]J’ai bel et bien une variable vide, mais je n’ai jamais cherché à obtenir une installation Suisse, non plus.

[quote=“MicP”]Donc, ne pas tenir compte de cette différence de variable pour l’instant, d’autant que si tout fonctionne chez toi… :smiley:[/quote]Vite fait. Pour utiliser mon K800, je dois brancher un clavier PS/2 pour y taper le 1er caractère dans le but d’obtenir la bonne disposition clavier.
Étant donné qu’il s’agit d’une machine à la maison, utilisé rarement par la famille et que le password root est différent, mon système ne vivra probablement qu’avec un seul utilisateur avec un autologin (que je viens de découvrir).

[quote=“MicP”]Il faudrait sans doute refaire le [mono]initramfs[/mono] pour qu’il prenne en compte la modification.

Tu parles des modifications de locale ou de disposition clavier ?
En faisant la manipulation, je n’ai remarqué aucun changement.

[quote=“Sore”]…
Tu parles des modifications de locale ou de disposition clavier ?
…[/quote]Les deux.

=======
Ce clavier étant un clavier sans fil, il y a peut-être un problème d’initialisation (trop de latence) de ce clavier.

Si c’est le cas, il devrait y avoir des traces de cette initialisation manquée dans le retour de la commande [mono]dmesg[/mono].

Peut-être aussi une particularité du BIOS (ou UEFI BIOS si c’est le cas) de ta machine concernant la détection de ce clavier (ce qui revient au même pour le problème d’initialisation).

=======
Au cas où, connecte la clef USB (emetteur/recepteur pour ce clavier) directement sur un port USB de la machine => pas par l’intermédiaire d’un HUB USB.

J’ai chargé mon système en branchant les claviers au fur et à mesure histoire de les distinguer facilement/rapidement.

Voici ce qui est obtenu :
1ère ligne : clavier PS/2
le reste : clavier K800

[ 29.155084] input: AT Translated Set 2 keyboard as /devices/platform/i8042/serio0/input/input25 [ 37.007303] usb 1-11: new full-speed USB device number 6 using xhci_hcd [ 37.137528] usb 1-11: New USB device found, idVendor=046d, idProduct=c52b [ 37.137536] usb 1-11: New USB device strings: Mfr=1, Product=2, SerialNumber=0 [ 37.137541] usb 1-11: Product: USB Receiver [ 37.137544] usb 1-11: Manufacturer: Logitech [ 37.168633] logitech-djreceiver 0003:046D:C52B.0005: hiddev0,hidraw2: USB HID v1.11 Device [Logitech USB Receiver] on usb-0000:00:14.0-11/input2 [ 37.225097] input: Logitech Unifying Device. Wireless PID:2010 as /devices/pci0000:00/0000:00:14.0/usb1/1-11/1-11:1.2/0003:046D:C52B.0005/0003:046D:C52B.0006/input/input26 [ 37.225229] logitech-djdevice 0003:046D:C52B.0006: input,hidraw3: USB HID v1.11 Keyboard [Logitech Unifying Device. Wireless PID:2010] on usb-0000:00:14.0-11:1

Voici le dmesg complet au cas où j’aurai raté quelque chose.

lspci (ehci, xhci OK)
lsusb (tous les ports sont OK)
dmidecode (tousa, tousa)

Je pensais plutôt à un retour de [mono]dmesg[/mono] dans le cas ou le clavier k800 seul était connecté, et que donc l’erreur se produisait.

Il y a peut-être aussi une histoire d’appairage entre l’émetteur/récepteur (la clef USB) et le clavier qui pourrait être la cause de ce problème de détection/initialisation du clavier.

=======
(Voir sur le web avec seulement [mono]046d:c52b[/mono] => Ce que j’ai pu lire en suivant les liens retournés confirme mes soupçons, mais il reste à trouver une solution fiable et libre.)
webupd8.org/2013/07/pair-unp … vices.html
pwr.github.io/Solaar/debian.html
tycho.ws/blog/2011/12/logitech-unifying-receiver
askubuntu.com/questions/113984/i … -supported

J’avais fait la manipulation avec clavier seul et aussi en branchant le PS/2 après le K800. C’est sans surprise que seule la ligne qui détectait le clavier PS/2 disparaît ou était placé en dernière. J’ai aussi essayé en tapant sur un clavier puis l’autre, mais aucune ligne n’est générée.

Le problème de compatibilité/bug ressurgis une fois de plus.
Pour la peine, Je ne connaissais pas, alors j’ai essayé Solaar (présent dans le dépôt officiel). Je ne m’attendais pas à résoudre le problème (à raison, ce n’est pas un pilote), mais j’ai compris en partie pourquoi ça merde.
En démarrant Solaar, il a tout de suite détecté l’émetteur/récepteur. Par contre, le soft n’a vu le clavier que lorsque j’ai appuyé sur une touche. J’en conclu au pif qu’au démarrage, l’émetteur/récepteur est bien vu comme un périphérique HID, mais pas comme un clavier, du coup il n’est pas initialisé correctement.

Je ne sais pas s’il est possible de corriger le problème, mais en tout cas, je vous remercie avram et MicP pour votre aide et vos informations.

Le principe est un peu comme pour le bluetooth : Il faut que l’émetteur/récepteur soit appairé avec le clavier, souris, etc.

[strike]Il doit y avoir un bouton sur (ou sous) ton clavier qui permet de lancer la procédure (dialogue entre le clavier et la clef USB) qui permet d’appairer émetteur/récepteur avec clavier.[/strike]
En fait, je viens de trouver le lien que je transmet en fin de ce message : il n’y a pas de bouton, il faut utiliser le cordon USB de charge du clavier.

Une fois appairés, dès que l’émetteur de la clef USB est alimenté (au démarrage du PC) il saura quel matériel rechercher : Ton clavier (ou/et une souris, ou/et un autre clavier supplémentaire etc…)

Note : Je vois même qu’il est possible de dés-appairer un périphérique (voir le nom du bouton de la fenêtre [mono]solaar[/mono] sur la deuxième capture d’écran)

Voir le troisième post en suivant ce lien

L’appairage se fait lors de la mise sous-tension du clavier. Je m’en suis rendu-compte lorsque j’ai dés-appairé/ré-appairé le clavier.

Solaar permet de lister les récepteurs Logitech, puis de lister les appairages de chacun.
Il propose également quelques options de configurations propre au périphérique (fonction rétro-éclairage, fonctionnalité des touches F[1-12] avec Fn…)

Il s’incruste également dans la systray pour indiquer le niveau de batterie (chose que faisait déjà Cinnamon).