[CLAVIER] touche circumflex

Reconnaissance et configuration du matériel / kernel linux
Avatar de l’utilisateur
jeViens2Debian
Daikyu
Messages : 57
Inscription : mer. 05 mai 2021, 19:51

[CLAVIER] touche circumflex

Message par jeViens2Debian »

Bonjour,
PROBLÈME : la touche tréma/circonflexe n'imprime aucun caractère
CONTEXTE : je ne suis peut être pas dans le bon forum, car le problème ne se produit qu'avec les bureaux hyprland, sway et seulement dans les émulateurs de terminal Alacritty, Kitty (mais pas uxterm), mais il concerne tous les utilisateurs et deux configurations d'hyprland (ML4W, personnelle).
Le problème n'existait pas avant les mises à jour du noyau 6.13 vers 6.14, mais il se produit aussi avec le kernel-lts.
Voici quelques informations :

Code : Tout sélectionner

$ localectl
System Locale: LANG=fr_FR.UTF8
    VC Keymap: fr-latin9
   X11 Layout: fr
    X11 Model: pc105
  X11 Variant: latin9
  X11 Options: terminate:ctrl_alt_bksp
extrait de hyprland.conf

Code : Tout sélectionner

input {
    kb_layout = fr
    kb_variant = latin9
    kb_model = 
    kb_options =
    kb_rules =
la sortie de xkbcli interactive-wayland quand je tape ë,ê,ï et î

Code : Tout sélectionner

Hyprland: keycode [ RTSH ] keysyms [ Shift_R                      ] unicode [   ] layout [ French (legacy, alt.) (0) ] level [ 0 ] mods [ ] leds [ ] 
Hyprland: keycode [ AD11 ] keysyms [ dead_diaeresis               ] unicode [   ] layout [ French (legacy, alt.) (0) ] level [ 1 ] mods [ -Shift ] leds [ ] 
Hyprland: keycode [ AD03 ] keysyms [ e                            ] unicode [ e ] layout [ French (legacy, alt.) (0) ] level [ 0 ] mods [ ] leds [ ] 
Hyprland: keycode [ AD11 ] keysyms [ dead_circumflex              ] unicode [   ] layout [ French (legacy, alt.) (0) ] level [ 0 ] mods [ ] leds [ ] 
Hyprland: keycode [ AD03 ] keysyms [ e                            ] unicode [ e ] layout [ French (legacy, alt.) (0) ] level [ 0 ] mods [ ] leds [ ] 
Hyprland: keycode [ RTSH ] keysyms [ Shift_R                      ] unicode [   ] layout [ French (legacy, alt.) (0) ] level [ 0 ] mods [ ] leds [ ] 
Hyprland: keycode [ AD11 ] keysyms [ dead_diaeresis               ] unicode [   ] layout [ French (legacy, alt.) (0) ] level [ 1 ] mods [ -Shift ] leds [ ] 
Hyprland: keycode [ AD08 ] keysyms [ i                            ] unicode [ i ] layout [ French (legacy, alt.) (0) ] level [ 0 ] mods [ ] leds [ ] 
Hyprland: keycode [ AD11 ] keysyms [ dead_circumflex              ] unicode [   ] layout [ French (legacy, alt.) (0) ] level [ 0 ] mods [ ] leds [ ] 
Hyprland: keycode [ AD08 ] keysyms [ i                            ] unicode [ i ] layout [ French (legacy, alt.) (0) ] level [ 0 ] mods [ ] leds [ ] 
Hyprland: keycode [ ESC  ] keysyms [ Escape                       ] unicode [ U+001B ] layout [ French (legacy, alt.) (0) ] level [ 0 ] mods [ ] leds [ ] 
N'est-ce pas un indice que le paramètre layout soit French (legacy, alt.) plutôt que quelque chose avec "latin9" ?

la sortie de wev quand je tape ë et û

Code : Tout sélectionner

[04:         wl_seat] name: Hyprland
[04:         wl_seat] capabilities: pointer keyboard 
[10:    xdg_toplevel] configure: width: 904; height: 540
                      tiled-left tiled-right tiled-top tiled-bottom 
[09:     xdg_surface] configure: serial: 8429
[14:     wl_keyboard] keymap: format: 1 (xkb v1), size: 67313
[14:     wl_keyboard] repeat_info: rate: 25 keys/sec; delay: 600 ms
[10:    xdg_toplevel] configure: width: 904; height: 540
                      tiled-left tiled-right tiled-top tiled-bottom maximized 
[10:    xdg_toplevel] configure: width: 879; height: 515
                      tiled-left tiled-right tiled-top tiled-bottom maximized 
[14:     wl_keyboard] enter: serial: 8434; surface: 3
[14:     wl_keyboard] modifiers: serial: 0; group: 0
                      depressed: 00000000
                      latched: 00000000
                      locked: 00000000
[11:  wl_data_device] data_offer: id: 4278190080
[4278190080:   wl_data_offer] offer: mime_type: text/plain;charset=utf-8
[4278190080:   wl_data_offer] offer: mime_type: UTF8_STRING
[4278190080:   wl_data_offer] offer: mime_type: COMPOUND_TEXT
[4278190080:   wl_data_offer] offer: mime_type: TEXT
[4278190080:   wl_data_offer] offer: mime_type: text/plain
[4278190080:   wl_data_offer] offer: mime_type: STRING
[4278190080:   wl_data_offer] offer: mime_type: text/plain;charset=utf-8
[4278190080:   wl_data_offer] offer: mime_type: text/plain
[4278190080:   wl_data_offer] offer: mime_type: SAVE_TARGETS
[11:  wl_data_device] selection: id: 4278190080
[10:    xdg_toplevel] configure: width: 879; height: 515
                      tiled-left tiled-right tiled-top tiled-bottom maximized activated 
[10:    xdg_toplevel] configure: width: 875; height: 511
                      tiled-left tiled-right tiled-top tiled-bottom maximized activated 
[13:      wl_pointer] enter: serial: 8438; surface: 3, x, y: 595.941406, 365.738281
[13:      wl_pointer] frame
[09:     xdg_surface] configure: serial: 8430
[14:     wl_keyboard] key: serial: 8439; time: 8510741; key: 36; state: 0 (released)
                      sym: Return       (65293), utf8: ''
[14:     wl_keyboard] key: serial: 8440; time: 8514825; key: 34; state: 1 (pressed)
                      sym: dead_circumflex (65106), utf8: ''
[14:     wl_keyboard] key: serial: 8441; time: 8515009; key: 34; state: 0 (released)
                      sym: dead_circumflex (65106), utf8: ''
[14:     wl_keyboard] key: serial: 8442; time: 8515625; key: 30; state: 1 (pressed)
                      sym: u            (117), utf8: 'u'
[14:     wl_keyboard] key: serial: 8443; time: 8515724; key: 30; state: 0 (released)
                      sym: u            (117), utf8: ''
[14:     wl_keyboard] key: serial: 8444; time: 8517308; key: 50; state: 1 (pressed)
                      sym: Shift_L      (65505), utf8: ''
[14:     wl_keyboard] modifiers: serial: 0; group: 0
                      depressed: 00000001: Shift 
                      latched: 00000000
                      locked: 00000000
[14:     wl_keyboard] key: serial: 8446; time: 8517580; key: 34; state: 1 (pressed)
                      sym: dead_diaeresis (65111), utf8: ''
[14:     wl_keyboard] key: serial: 8447; time: 8517757; key: 34; state: 0 (released)
                      sym: dead_diaeresis (65111), utf8: ''
[14:     wl_keyboard] key: serial: 8448; time: 8517891; key: 50; state: 0 (released)
                      sym: Shift_L      (65505), utf8: ''
[14:     wl_keyboard] modifiers: serial: 0; group: 0
                      depressed: 00000000
                      latched: 00000000
                      locked: 00000000
[14:     wl_keyboard] key: serial: 8450; time: 8518424; key: 26; state: 1 (pressed)
                      sym: e            (101), utf8: 'e'
[14:     wl_keyboard] key: serial: 8451; time: 8518507; key: 26; state: 0 (released)
                      sym: e            (101), utf8: ''
[13:      
un extrait de ce que le serveur obtient exactement en téléchargeant la keymap en retour avec la commande

Code : Tout sélectionner

$ xkbcomp $DISPLAY out.xkb
qui montre la possibilité de produire les lettres avec des symboles circumflex et diaeresis

Code : Tout sélectionner

    key <AD01> {
        type= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               a,               A,     acircumflex,      adiaeresis ]
    };
    key <AD02> {
        type= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               z,               Z,           aring,           Aring ]
    };
    key <AD03> {
        type= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               e,               E,        EuroSign,            cent ]
    };
    key <AD04> {
        type= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               r,               R,        ccedilla,        Ccedilla ]
    };
    key <AD05> {
        type= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               t,               T,           thorn,           THORN ]
    };
    key <AD06> {
        type= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               y,               Y,          yacute,          Yacute ]
    };
    key <AD07> {
        type= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               u,               U,     ucircumflex,      udiaeresis ]
    };
    key <AD08> {
        type= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               i,               I,     icircumflex,      idiaeresis ]
    };
    key <AD09> {
        type= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               o,               O,     ocircumflex,      odiaeresis ]
    };
    key <AD10> {
        type= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               p,               P,       paragraph,           grave ]
    };
    key <AD11> {
        type= "FOUR_LEVEL",
        symbols[Group1]= [ dead_circumflex,  dead_diaeresis,      dead_tilde,      apostrophe ]
    };
    key <AD12> {
        type= "FOUR_LEVEL",
        symbols[Group1]= [          dollar,        sterling,     ecircumflex,      ediaeresis ]
    };
    key <RTRN> {         [          Return ] };
    key <LCTL> {         [       Control_L ] };
    key <AC01> {
        type= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               q,               Q,     Acircumflex,      Adiaeresis ]
    };
    key <AC02> {
        type= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               s,               S,          oslash,          Oslash ]
    };
    key <AC03> {
        type= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               d,               D,     Ecircumflex,      Ediaeresis ]
    };
    key <AC04> {
        type= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               f,               F,       plusminus,     ordfeminine ]
    };
    key <AC05> {
        type= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               g,               G,              ae,              AE ]
    };
    key <AC06> {
        type= "FOUR_LEVEL_ALPHABETIC",
        symbols[Group1]= [               h,               H,             eth,             ETH ]
    };
    key <AC07> {
        type= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               j,               J,     Ucircumflex,      Udiaeresis ]
    };
    key <AC08> {
        type= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               k,               K,     Icircumflex,      Idiaeresis ]
    };
    key <AC09> {
        type= "FOUR_LEVEL_SEMIALPHABETIC",
        symbols[Group1]= [               l,               L,     Ocircumflex,      Odiaeresis ]
:bravo:
Donc je ne peux pas dire que ce soit résolu, mais au moins contourné.
Avatar de l’utilisateur
benjarobin
Maître du Kyudo
Messages : 17563
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [CLAVIER] touche circumflex

Message par benjarobin »

Bonjour,
Cela n'a aucun lien avec le kernel (il ne devrait pas être responsable d'un tel problème).
La différence entre Kitty et uxterm c'est que le premier tourne sous Wayland tandis que l'autre sous Xorg via XWayland.
Absolument rien d'anormal avec "French (legacy, alt.)". Ton clavier fonctionne très bien, les bons codes sont reçus par xkbcli interactive-wayland (donc aucun problème de layout).
Attention de ne pas mélanger Xorg et Wayland, car "xkbcomp $DISPLAY" c'est du Xorg

Quel est le shell utilisé par Kitty ? Quelle est la sortie (depuis Kitty) de :

Code : Tout sélectionner

env | grep -E "LC|LANG"
locale -a
locale
En effet cela ressemble plus à un problème de locale depuis ce terminal Kitty, pourquoi ? Je ne sais pas...
Tu n'a aucun problème pour taper é è à ?
Zsh | KDE | PC fixe : AMD Ryzen 9900X, Radeon RX 7700 XT
Titre d'un sujet : [Thème] Sujet (état) / Règles du forum
Avatar de l’utilisateur
jeViens2Debian
Daikyu
Messages : 57
Inscription : mer. 05 mai 2021, 19:51

Re: [CLAVIER] touche circumflex

Message par jeViens2Debian »

$env | grep -E "LC|LANG"

Code : Tout sélectionner

LANG=fr_FR.UTF8
$ locale -a

Code : Tout sélectionner

C
C.utf8
en_US.utf8
fr_FR.utf8
POSIX
$locale

Code : Tout sélectionner

LANG=fr_FR.UTF8
LC_CTYPE="fr_FR.UTF8"
LC_NUMERIC="fr_FR.UTF8"
LC_TIME="fr_FR.UTF8"
LC_COLLATE="fr_FR.UTF8"
LC_MONETARY="fr_FR.UTF8"
LC_MESSAGES="fr_FR.UTF8"
LC_PAPER="fr_FR.UTF8"
LC_NAME="fr_FR.UTF8"
LC_ADDRESS="fr_FR.UTF8"
LC_TELEPHONE="fr_FR.UTF8"
LC_MEASUREMENT="fr_FR.UTF8"
LC_IDENTIFICATION="fr_FR.UTF8"
LC_ALL=
Répondre