Come rimappare il menu di scelta rapida su un'altra chiave in Linux?


19

Ho appena acquistato un thinkpad Lenovo e sono così orgoglioso di tutto ciò che contiene. Sembra solido come il kernel Linux: P.

Il problema è che Lenovo ha deciso di rimuovere la chiave del menu di scelta rapida che è la chiave che fa il tasto destro del mouse. Lo hanno sostituito con un tasto dello schermo di stampa. La mia tastiera ha la sua parte numerica con alcuni pulsanti sopra di essa. C'è una chiave di lente d'ingrandimento che vorrei rimappare per aprire il menu contestuale o essere il tasto destro del mouse. È possibile farlo?

Ho provato a cercare altre domande correlate ma ho trovato solo domande e risposte su come aggiungere opzioni al menu di scelta rapida di Nautilus. Voglio mappare un tasto fisico della mia tastiera per aprire questo menu. Proprio come prima. Sembra anche che Dell stia rilasciando questo tasto nella tastiera Inspiron. Non so cosa stia succedendo da quando uso la tastiera più del mouse.

Grazie in anticipo.


3
Installa xbindkeys con sudo apt-get install xbindkeys. Quindi in un terminale eseguire xbindkeys -ke digitare la chiave che si desidera modificare. Puoi aggiungere l'output alla tua domanda?
Seth,

"NoCommand" m: 0x50 + c: 46 Mod2 + Mod4 + l
Jhonnytunes

Chi vorrebbe un tasto Stampa schermo dove si aspetterebbe un tasto Menu? Mi chiedo seriamente quanto ubriaco ti sia permesso di presentarti per lavorare in Lenovo. Ad ogni modo, nota che non hai bisogno di un .Xmodmapgenerato da xmodmap -pkeper cominciare, puoi anche solo mettere la tua associazione in un file vuoto. Inoltre, guarda cosa ha scoperto @Baha_hi di seguito.
J. Katzwinkel,

Risposte:


13

È un po 'complicato, ma puoi farlo. Segui questi passi:

Rileva codice chiave

  1. Esegui xevper rilevare il codice chiave:

    xev | grep keycode
    
            state 0x0, keycode 36 (keysym 0xff0d, Return), same_screen YES,
            state 0x0, keycode 107 (keysym 0xff67, Menu), same_screen YES,
            state 0x0, keycode 64 (keysym 0xffe9, Alt_L), same_screen YES,
    
  2. Premere il tasto che si desidera riconfigurare. L'output nel terminale mostrerà il keycode(attenzione, potrebbe averne diversi).

Mappatura del test

  1. Imposta temporaneamente una nuova mappatura, per me è keycode 107:

    xmodmap -e "keycode  107 = Return NoSymbol Return"
    

Se la chiave si comporta come previsto, è possibile salvare la configurazione.

Salva la tua configurazione

  1. Salva la tua tabella keymap corrente sul tuo $HOME, per sovrascrivere il defau:

    xmodmap -pke > ~/.Xmodmap
    
  2. Crea o modifica ~/.xinitrcper caricare la tua configurazione:

    $EDITOR ~/.xinitrc
    
  3. Aggiungi le seguenti righe

    if [ -f $HOME/.Xmodmap ]; then
            /usr/bin/xmodmap $HOME/.Xmodmap
    fi
    

Godere

La maggior parte delle informazioni di cui sopra proviene dall'articolo di ArchWiki .


C'è un problema. Quando premo il pulsante 'l' è contrassegnato. L'ho controllato su xev e mi ha dato il codice chiave 46 che è assegnato alla lettera L l. Forse non ha un codice chiave da prendere.
Jhonnytunes,

@Jhonnytunes. Verifica che il layout della tastiera sia corretto. Puoi cambiare il tuo modello digitando `sudo dpkg-reconfigure keyboard-configuration`.
Ed Villegas,

Lo stesso comportamento. Ho provato diversi modelli di thinkpad e niente.
Jhonnytunes,

A proposito, il mio thinkpad è un E530c e non compare nell'elenco della tastiera.
Jhonnytunes,

Se questo è il layout della tastiera, forse il tasto accanto a «Elimina» è in realtà «Menu di scelta rapida» (la funzione che stai cercando). Altrimenti, riconfigurare un'altra chiave o chiedere direttamente alla scrivania Lenovo quale layout scegliere.
Ed Villegas,

12

Ho trovato qui che usando: shift+ si F10apre il menu di scelta rapida.

So che non è la soluzione migliore ma ho pensato che potesse essere d'aiuto per un uso temporaneo!

PS: anch'io ho e530c e l'ho provato su Debian 7 (Wheezy).


3

Alla fine ho trovato il modo di farlo dopo ore di test e fallito: D

Prima di tutto installa xautomation:

sudo apt-get install xautomation

Quindi vai alla scheda Collegamento della sezione Tastiera nelle Impostazioni di sistema di Ubuntu. Per prima cosa vai alla voce Schermate e rimappa le azioni su un altro tasto o disabilitali se lo desideri. Ho sostituito il tasto PrtSc (Stampa) con il pulsante nero Thinkpad (Launch1).

Ora vai alla sezione Collegamenti personalizzati e aggiungi un collegamento. chiamalo come preferisci, ad es. Menu. Nel campo Comando inserire questo:

xte 'keydown Shift_L' 'key F10' 'keyup Shift_L'

Il lavoro è fatto! Funziona come un miracolo;)


2

Questo ha fatto il trucco per me. Per me il codice del tasto "PrtSc" sul mio thinkpad è 107. L'ho trovato con lo strumento "xev" in Ubuntu.

xmodmap -e "keycode  107 = Menu"

Questa è una modifica temporanea.

Puoi renderlo permanente aggiungendo questo comando a / etc / profile e verrà eseguito ad ogni avvio e sarà una modifica permanente.


1

Recentemente ho acquistato un Lenovo E550 e ho avuto lo stesso problema, l'ho risolto usando xte(da xautomation) insieme a xmodmap.

Perché le altre risposte non funzioneranno del tutto?

  1. La risposta di @Ed Villegas (né di @Null Pointer ) non funzionerà perché alcune delle chiavi posizionate sopra la parte numerica non sono chiavi univoche da sole ( ad es . La chiave di blocco è correlata alla combinazione Super+ L). Quando xevviene utilizzato per cercare di trovare il codice chiave della chiave di blocco, restituisce sia Superi Lcodici chiave sia i codici chiave, è sufficiente interpretare l' xevoutput riga per riga.

  2. Per @Bahax e @John Finegan : Shift+ F10è un tasto del menu di scelta rapida, non funziona in tutte le applicazioni e non fornisce le stesse funzioni di Menu. Se si seleziona un file in Esplora file e si preme Menuil menu contestuale per il file stesso dovrebbe apparire, ciò non accade con la combinazione Shift+ F10, invece fornirebbe un menu contestuale per la finestra.

  3. @Danial Behzadi ha un approccio simile alle persone nel 2 ° elemento, ma collegando la combinazione di tasti a un tasto tramite un simulatore di battitura, collegherà il tasto a Shift+ F10e fornirà lo stesso risultato.

La risposta che funziona

È importante tenere presente che il tasto che non è presente nella tastiera ThinkPad è il Menu(che è il suo nome), è mostrato nella figura seguente:

Tasto menu

Sebbene la chiave non sia presente, il codice chiave dovrebbe esistere nel tuo computer, puoi trovarlo stampando la tabella dei codici chiave con la xmodmap -pke | grep Menuquale dovrebbe darti qualcosa del tipo:

output xmodmap

Con questo in mente, installa xautomation(per usare xtele simulazioni di battitura) come nella risposta @Danial Behzadi :

sudo apt-get install xautomation

E crea un collegamento personalizzato, nel grilletto premi il tasto che vuoi essere il collegamento e nel Actioncomando incolla xte 'key Menu'. Applicare e testare.

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.