GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Tasti Ctrl e Alt mappati per spostarsi per qualche motivo?

Ho installato Ubuntu 14.04 e lo adoro. Tuttavia, giocando a un gioco chiamato Garry's Mod ho notato che il mio CTRL e ALT i tasti della mia tastiera cablata venivano entrambi rilevati come Maiusc . Ho esaminato il grafico del layout della tastiera e l'ho confermato. Ho anche notato che il mio Windows, o Super Tasto, CTRL destro e ALT destra vengono tutti mappati su Maiusc sinistro .

Funzionano tutti perfettamente, vengono solo rilevati in modo errato. Ho selezionato il layout degli Stati Uniti che è quello che dovrebbe essere la mia tastiera ed è in Windows. Qualcuno può aiutare? La mia tastiera viene rilevata come una tastiera USB SONiX (la marca attuale della tastiera è Avazz).

  • la mia xev -event keyboard l'output è questo per ognuno:

    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
    

    L'unica cosa che cambia è l'ora.

  • Il sudo evtest comando mostra tutti i tasti modificatori come

    type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e1v type 1 (EV_KEY), code 42 (KEY_LEFTSHIFT), value 0
    
  • per lsusb , il driver che sta utilizzando è il usbhid conducente.

    lsusb mostra qualcosa di confuso; la stessa porta della mia tastiera viene mostrata in altri comandi viene visualizzata in lsusb come driver del mio mouse wireless, Logitech, Inc. Unifying Receiver . Questo potrebbe essere il problema, ma probabilmente mi sono semplicemente sbagliato in quale porta si trova. Per questo motivo, non sono sicuro di quale driver sia cosa. Li pubblicherò tutti, anche se questo potrebbe essere fastidioso. Ho una tastiera separata collegata accanto a quella principale per usare il CTRL , Super o ALT a proposito, non lasciarti confondere dal driver della tastiera Logitech Classic.

    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
    

    Per lsusb -t , il driver utilizzato è usbhid .

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

    ignoreled   0
    mousepoll   0
    quirks  (null),(null),(null),(null)
    
  • Non penso che tu abbia bisogno di questo dato che ho detto che è usbhid , ma eccolo comunque.

    for i in $(ls /sys/module/hid/parameters/); do echo -ne "$it"; more /sys/module/hid/parameters/$i; done 's output.

    debug 0
    ignore_special_drivers 0

  • modinfo usbhid L'output è:

    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 mi dice che non è stato trovato anche se ho cambiato 2 al mio ID autobus. Cosa sto sbagliando qui? Chiarisci se puoi per favore, un po' confuso lì. Ho provato a mettere 2 , 02 e 002 . L'output di
    sudo ls /sys/kernel/debug/usb/usbmon/ è
    0s 0u 1s 1t 1u 2s 2t 2u

Risposta accettata:

La mia tastiera è una Perixx P1800. Ha la stessa identificazione lsusb (0c45:7603 Microdia)
Apparentemente, utilizza la stessa scheda anche della tastiera azio L70.

Correlati:Linux – tasti di rimappatura hard della tastiera?

Il driver linux per la tastiera è stato realizzato a mano ed è disponibile a questo indirizzo.

Su Debian, funziona molto bene per me (dopo update-initramfs ) ad eccezione di un solo tasto vicino a Invio (* nella tastiera Azerty, il * della tastiera funziona bene).


Ubuntu
  1. Perché è consigliabile creare un gruppo e un utente per alcune applicazioni?

  2. Come cercare in Dconf chiavi o valori?

  3. Scorciatoie da tastiera/mouse di Gnome 3 Shell?

  4. Cambiare layout di tastiera con I3?

  5. Scorciatoie da tastiera globali interrotte in 14.04?

Creazione di certificati e chiavi per il tuo server OpenVPN

Come abilitare il tasto Alt Gr come Alt R per Emacs su Ubuntu 16.04?

Desktop remoto per Mac e scorciatoie da tastiera

Klavaro – Un tutor di dattilografia flessibile per bambini e adulti

Foglio grafico di Firefox per le scorciatoie da tastiera

Come rimappare i tasti sotto Linux solo per una tastiera specifica