web-dev-qa-db-fra.com

Les touches CTRL et ALT mappées sur Shift pour une raison quelconque

J'ai installé Ubuntu 14.04 et j'adore ça. Cependant, en jouant à un jeu appelé Garry's Mod, j’ai remarqué que mon CTRL et ALT les touches de mon clavier filaire étaient toutes deux détectées comme Shift. J'ai regardé le tableau de disposition du clavier et l'ai confirmé. J'ai aussi remarqué que mon Windows, ou Super Clé, Right CTRL et Right ALT sont tous mappés sur Left Shift.

Ils travaillent tous parfaitement, ils sont juste détectés mal. J'ai sélectionné la disposition des États-Unis, qui correspond à ce que mon clavier est censé être et est sous Windows. Quelqu'un peut-il aider? Mon clavier est détecté en tant que clavier SONiX USB (la marque de clavier actuelle est Avazz).

  • ma sortie xev -event keyboard est la suivante:

    KeyRelease event, serial 28, synthetic NO, window 0x4a00001,
        root 0xdc, subw 0x0, time 2446369, (730,547), root:(795,599),
        state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
        XLookupString gives 0 bytes: 
        XFilterEvent returns: False
    

    La seule chose qui change, c'est l'heure.

  • La commande Sudo evtest affiche toutes les touches de modification sous la forme

    type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e1v type 1 (EV_KEY), code 42 (KEY_LEFTSHIFT), value 0
    
  • pour lsusb, le pilote utilisé est le pilote usbhid.

    lsusb montre quelque chose de déroutant; le même port que mon clavier est indiqué dans d'autres commandes apparaît dans lsusb en tant que pilote de ma souris sans fil, Logitech, Inc. Unifying Receiver. C'est peut-être le problème, mais je me trompe probablement tout simplement dans le port sur lequel il se trouve. Pour cette raison, je ne sais pas quel pilote est quoi. Je vais toutes les poster, bien que cela puisse être agaçant. J'ai un clavier séparé branché à côté de mon clavier principal pour utiliser le CTRLSuper, ou ALT Soit dit en passant, ne soyez pas dérouté par le pilote Logitech Classic Keyboard Driver.

    Bus 001 Device 009: ID 0bda:8172 Realtek Semiconductor Corp. RTL8191SU 802.11n WLAN Adapter
    Bus 001 Device 008: ID 046d:c315 Logitech, Inc. Classic Keyboard 200
    Bus 001 Device 007: ID 1a40:0101 Terminus Technology Inc. 4-Port HUB
    Bus 001 Device 006: ID 0480:0200 Toshiba America Info. Systems, Inc. 
    Bus 001 Device 004: ID 0c45:6340 Microdia 
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 004: ID 0d8c:013c C-Media Electronics, Inc. CM108 Audio Controller
    Bus 002 Device 003: ID 046d:c52b Logitech, Inc. Unifying Receiver
    Bus 002 Device 002: ID 0c45:7603 Microdia 
    Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub
    

    Pour lsusb -t, le pilote utilisé est usbhid.

  • for i in $(ls /sys/module/usbhid/parameters/); do echo -ne "$i\t"; more /sys/module/usbhid/parameters/$i; done est:

    ignoreled   0
    mousepoll   0
    quirks  (null),(null),(null),(null)
    
  • Je ne pense pas que vous ayez besoin de ça puisque j'ai dit que c'était usbhid, mais le voici quand même.

    La sortie de for i in $(ls /sys/module/hid/parameters/); do echo -ne "$i\t"; more /sys/module/hid/parameters/$i; done.

    déboguer 0 ignore_special_drivers 0

  • La sortie de modinfo usbhid est:

    filename:       /lib/modules/3.18.3-031803-generic/kernel/drivers/hid/usbhid/usbhid.ko
    license:        GPL
    description:    USB HID core driver
    author:         Jiri Kosina
    author:         Vojtech Pavlik
    author:         Andreas Gal
    srcversion:     A395FA22EA2729BAC1557C9
    alias:          usb:v*p*d*dc*dsc*dp*ic03isc*ip*in*
    depends:        hid
    intree:         Y
    vermagic:       3.18.3-031803-generic SMP mod_unload modversions 
    signer:         Magrathea: Glacier signing key
    sig_key:        29:DB:FD:FC:5A:CC:82:3C:C5:2C:39:4C:C1:C7:4C:01:C3:BE:BF:78
    sig_hashalgo:   sha512
    parm:           mousepoll:Polling interval of mice (uint)
    parm:           ignoreled:Autosuspend with active leds (uint)
    parm:           quirks:Add/modify USB HID quirks by specifying  quirks=vendorID:productID:quirks where vendorID, productID, and quirks are all in 0x-prefixed hex (array of charp)
    
  • cat /sys/kernel/debug/usb/usbmon/2u > /tmp/usb.mon.out me dit non trouvé même si j'ai remplacé 2 par mon ID de bus. Qu'est-ce que je fais mal ici? Clarifiez si vous pouvez, un peu confus là-bas. J'ai essayé de mettre 2, 02 et 002. Le résultat de Sudo ls /sys/kernel/debug/usb/usbmon/ est 0s 0u 1s 1t 1u 2s 2t 2u

3
Vardogor

Mon clavier est un Perixx P1800. Identique identique à lsusb (0c45: 7603 Microdia) Apparemment, elle utilise la même carte également que le clavier azio L70.

Le pilote Linux pour le clavier a été fabriqué à la main et est disponible à l’adresse cette adresse .

Sur Debian, cela fonctionne très bien pour moi (après update-initramfs) à l'exception d'une seule touche proche de Enter (* dans le clavier Azerty, le * du clavier fonctionne bien).

6
Grégory

J'ai eu ce problème également. Je me suis ennuyé pendant des mois, mais j'ai ensuite essayé de trouver le moyen de le résoudre.

Voici le chauffeur; Bien que mon clavier ne soit pas cette marque, il a parfaitement fonctionné. J'espère que cela résoudra aussi votre problème. Le pilote et les instructions sont ICI:

https://bitbucket.org/Swoogan/aziokbd

PD: Je n'ai pas écrit le pilote, je viens de le trouver.

-Édité après les suggestions d'un #GrammarNazy xD

1
Alberto