I tasti AltGr non funzionano con Ubuntu in VirtualBox


8

Ho appena installato VirtualBox (da Oracle) in Windows 7 e ho creato una macchina virtuale con l'ultimo Ubuntu.

Qui in Firefox posso usare il tasto Ctrl sinistro, mentre quello destro non ha alcun effetto. Tuttavia, non posso usare il tasto AltGr (noto anche come Alt destra) per produrre ad esempio parentesi graffe come {} (l'ho incollato tramite Ctrl V).

In una finestra del terminale posso cambiare il "Metodo di input" su "Multipress", e quindi posso usare AltGr per digitare ad es. {}, Che è il modo in cui ho prodotto quei caratteri per questo post. Tuttavia, con "Multipress" i tasti Ctrl sembrano non avere alcun effetto. Quindi, per esempio, digitare Ctrl DI deve fare clic con il tasto destro del mouse e commutare il "Metodo di input" su "Sistema (IBus (Intelligent Input Bus))". Quindi AltGr non funziona.

Ho provato a specificare la chiave di composizione nel layout della tastiera delle impostazioni di sistema.

Con ciò, né Ctrl né AltGr hanno funzionato.

Ecco cosa riporta xmodmap:

[~]
$ xmodmap -pke | controllo grep -i
keycode 37 = Control_L NoSymbol Control_L
keycode 105 = Control_R NoSymbol Control_R
[~]
$ xmodmap -pke | grep -i alt
keycode 64 = Alt_L Meta_L Alt_L Meta_L
keycode 204 = NoSymbol Alt_L NoSymbol Alt_L
[~]
$ _

Come posso risolvere questo problema?

Ulteriori informazioni: la tastiera è una tastiera standard per PC, una Logitech K120, con layout norvegese.

Inoltre, ho prima provato a porre questa domanda sul sito di Superuser ma nessuna risposta dopo 2 giorni ...


Ho ottenuto il tasto AltGr funzionante in Ubuntu. Dovevo solo sapere che avrei dovuto creare un file chiamato ".Xmodmap" e aggiungere questa riga: "keycode 113 = Mode_switch Multi_key". Che ho trovato in una segnalazione di bug su un problema simile, su bugs.launchpad.net/ubuntu/+source/xkeyboard-config/+bug/349487/…
Alf P. Steinbach,

Risposte:


5

Eseguire il comando xev. Nella finestra xev, premere il AltGrtasto. Vedrai qualcosa del genere

KeyPress event, serial 29, synthetic NO, window 0x6400001,
    root 0x105, subw 0x0, time 966635535, (243,-207), root:(1891,26),
    state 0x0, keycode 66 (keysym 0xff7e, Mode_switch), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

Nota il codice chiave; poiché la chiave non sta facendo quello che vuoi, vedrai qualcos'altro (possibilmente Alt_R) invece di Mode_switch. Si desidera assegnare questo codice chiave a Mode_switch, che è il nome di X11 per AltGr. Inserisci il seguente comando in un file chiamato .Xmodmap(nota maiuscola X) nella tua home directory:

keycode 66 = Mode_switch

Inoltre, potrebbe essere necessario assegnare un modificatore a Mode_switch, ma se tutto ciò che accade è una discrepanza del codice chiave, ce ne sarà già uno. Vedere Impostare la chiave per la lettera spagnola eñe per ulteriori informazioni.

Esegui xmodmap ~/.Xmodmapper testare il tuo file. Su molti sistemi, incluso Ubuntu 10.04, questo file viene caricato automaticamente nell'ambiente Gnome predefinito. Su altre distribuzioni o ambienti, potrebbe essere necessario indicare esplicitamente che si desidera eseguire xmodmap ~/.Xmodmapquando si accede.


È una risposta interessante, usando il keycode 66. Nel mio commento prima di pubblicare questa risposta, ho notato che il keycode 113, che ho appena copiato e incollato dalla rete, funziona per quella riga. Ora quando corro xevcome suggerisci, riporta il codice chiave 108. Eppure la linea che ho copiato dalla rete funziona. Quindi apparentemente non ha nulla a che fare con il codice chiave. L'ho cambiato in 66, solo per divertimento, e riavviato: funziona ancora. Quindi concludo che non è affatto qualcosa di tecnicamente preciso, ma evidentemente un Heisenbug in Ubuntu.
Alf P. Steinbach,

@ AlfP.Steinbach Il codice chiave è determinato dall'hardware (o dall'emulatore hardware, in una macchina virtuale) e dalla versione del kernel e del server X. Sulle tastiere del PC, il tasto Alt destro ha il codice 113 sulle vecchie distribuzioni Linux e 108 su quelle più recenti (il mio esempio con 66 è perché ho AltGr sul tasto BLOC MAIUSC). Qualche tempo fa ho chiesto come determinare automaticamente se ho un sistema "vecchio" o "nuovo" per quanto riguarda le assegnazioni di codici chiave.
Gilles 'SO- smetti di essere malvagio' il

Bene, funziona ancora dopo aver rinominato quel file e riavviato. E il terminale ricorda ancora la vecchia cronologia dei comandi dopo il riavvio. Con stati dinamici così sciocchi e persistenti, penso che debba essere piuttosto difficile cacciare i bug: non possono essere riprodotti in modo affidabile in un ambiente così interferente. Penso che ulteriori prove di ciò siano il modo in cui il bug di AltGr è passato a tutti: chiuso come risolto, riaperto, chiuso come risolto, riaperto, e così via. Quindi penso che sarebbe una buona idea (TM) punire severamente la persona che ha introdotto quella persistenza di impostazioni e stato. :-)
Alf P. Steinbach,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.