CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

configuration du clavier

godrik
godrik
Niveau 30
27 septembre 2021 à 04:53:58

Il y a des gens ici qui comprennent comment les inputs fonctionnent dans xorg?

Je cherche a reconfigurer un clavier secondaire pour envoyer des input arbitrairement reconfigurable dans un logiciel qui accepte des hotkey.

les keycode sont defini dans /usr/share/X11/xkb/keycodes/evdev
Et les keycode sont converti en symbols dans /usr/share/X11/xkb/symbols/us
C'est ce symbols/us qui fait le mapping entre la touche physique et ce que la touche veux dire en terme de symbole. par exemple pour la ligne du haut des lettres:

    key <AD01> {        [         q,    Q               ]       };
    key <AD02> {        [         w,    W               ]       };
    key <AD03> {        [         e,    E               ]       };
    key <AD04> {        [         r,    R               ]       };
    key <AD05> {        [         t,    T               ]       };
    key <AD06> {        [         y,    Y               ]       };
    key <AD07> {        [         u,    U               ]       };
    key <AD08> {        [         i,    I               ]       };
    key <AD09> {        [         o,    O               ]       };
    key <AD10> {        [         p,    P               ]       };
    key <AD11> {        [ bracketleft,  braceleft       ]       };
    key <AD12> {        [ bracketright, braceright      ]       };

On peut voir que la touche qui fait "[" est <AD11> et genere un symbol nomme "bracketleft"
Ce que je ne comprends pas est comment ce "bracketleft" ce transforme en "["

on peut voir dans xev quand la touche est appuye:


KeyPress event, serial 35, synthetic NO, window 0x5c00001,
    root 0x1e3, subw 0x0, time 1099114011, (689,186), root:(6450,225),
    state 0x10, keycode 34 (keysym 0x5b, bracketleft), same_screen YES,
    XLookupString gives 1 bytes: (5b) "["
    XmbLookupString gives 1 bytes: (5b) "["
    XFilterEvent returns: False

Il y a deux choses interessante:
1) le keycode est transforme en symbol "bracketleft" et c'est le symbol 0x5b.
2) bracketleft est transforme par XLookupString en "["

je ne comprends pas comment ces deux mapping se font. En particulier si je change dans le fichier de symbol "bracketleft" en "something" (et que je recharge avec setxkbmap) alors xev me donne "NoSymbol" de keysym 0x0

Donc ca veut dire que quelque defini la liste des symbol qui ont du sens. Mais je n'arrive pas a trouver cette liste pour rajouter des symbols stupide pour faire mon mapping de hotkey.

Une idee de comment ce truc la fonctionne?

Note que vraiment, je pourrais prendre un charactere d'un alphabet que je n'utiliserai jamais pour remapper le clavier. Mais maintenant je suis curieux de savoir comment le truc fonctionne.

godrik
godrik
Niveau 30
27 septembre 2021 à 17:29:14

ah, c'est hardcoder dans xorg... Recompiler xorg pour rajouter des hotkey custom, ca a l'air d'etre une connerie...

Een meme temps, j'ai decouvert que le logiciel que j'utilise a une gestions des hotkey stupide et non standard (OBS). Je vais ecrire un plugin et interface avec mon window manager, ca sera plus simple.

Sous forums
  • Aide à l'achat Mac
  • Internet
  • Macintosh
  • Création de sites web
  • Création de Jeux
  • Linux
  • Programmation
  • Steam Deck
  • Hardware
La vidéo du moment