GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Invertire il ruolo di premere Maiusc+numero?

c'è un modo per invertire il ruolo dell'azione della tastiera Maiusc+[1..9]? Fondamentalmente mi ritrovo ad usare i simboli sui numeri molto più spesso dei numeri stessi. Ho il tastierino numerico per i numeri. E molti di questi simboli sono usati nella codifica e nel lattice. Quindi, se qualcuno sa come posso ottenere [email protected]#$%^&*() senza l'uso del turno gli sarei molto grato.

Risposta accettata:

Questo è in realtà abbastanza facile da ottenere usando xmodmap. Basta creare un nuovo file, con quanto segue:

keycode  10 = exclam 1 exclam 1
keycode  11 = at 2 at 2
keycode  12 = numbersign 3 numbersign 3
keycode  13 = dollar 4 dollar 4
keycode  14 = percent 5 percent 5
keycode  15 = asciicircum 6 asciicircum 6
keycode  16 = ampersand 7 ampersand 7
keycode  17 = asterisk 8 asterisk 8
keycode  18 = parenleft 9 parenleft 9
keycode  19 = parenright 0 parenright 0

Salvalo nella radice della tua home directory come .Xmodmap (la maiuscola è importante). Ora, disconnetti e riconnetti (potrebbe essere necessario riavviare) e le tue chiavi verranno scambiate. Continua a leggere per come mi è venuto in mente questo. Le informazioni che ho usato per capirlo sono arrivate da qui. Avvia un terminale e digita il seguente comando:

xmodmap -pke

Questo sputerà fuori un mucchio di coppie di valori/impostazioni del codice chiave, come questa:

......
keycode  27 = r R r R
keycode  28 = t T t T
keycode  29 = y Y y Y
keycode  30 = u U u U
keycode  31 = i I i I
keycode  32 = o O o O
keycode  33 = p P p P
keycode  34 = bracketleft braceleft bracketleft braceleft
keycode  35 = bracketright braceright bracketright braceright
keycode  36 = Return NoSymbol Return
keycode  37 = Control_L NoSymbol Control_L
keycode  38 = a A a A
keycode  39 = s S s S
keycode  40 = d D d D
keycode  41 = f F f F
keycode  42 = g G g G
keycode  43 = h H h H
keycode  44 = j J j J
keycode  45 = k K k K
......

Il codice chiave è il tasto sulla tua tastiera fisica e il valore a destra del segno di uguale è ciò che viene inviato al tuo PC. Il motivo per cui ce ne sono quattro è che il primo è semplice, il secondo è con MAIUSC premuto e il terzo (normale) e avanti (shift) sembrano essere abilitati dopo aver fatto clic sul pulsante Blocco scorrimento. Come puoi vedere, questo ti dà molta flessibilità per fare tutto ciò che puoi sognare per modificare la tua tastiera.

Ora, questo funzionerà solo quando hai effettuato l'accesso a X (come nella GUI), da cui il nome. Se accendi un terminale in Gnome, Unity, ecc. sei ancora bravo ad usare Xmodmap, ma se vuoi la stessa funzionalità nella console (cioè dopo aver premuto CTRL+ALT+1, sshing in una scatola, lavorare su un server, o un PC senza GUI) sarà necessario utilizzare le chiavi di caricamento. Sebbene l'idea generale sia la stessa, loadkeys offre molte più funzionalità e granularità, quindi è leggermente più complicato. Ora, questi comandi DEVONO essere tutti eseguiti dalla console reale, non possono essere eseguiti con un emulatore di terminale, altrimenti riceverai un errore, come questo:Couldn't get a file descriptor referring to the console .

Per prima cosa dovremo creare la nostra mappa dei tasti predefinita, come questa:

dumpkeys > ~/my_keymap.map

Sarebbe una buona idea fare una copia di questo nel caso in cui si incasini davvero. Ora non ci resta che modificarlo, con le nostre modifiche. Ogni definizione chiave è simile a questa:

keycode   2 = one              exclam           one              one             
    alt keycode   2 = Meta_one        
    shift   alt keycode   2 = Meta_exclam     
    altgr   alt keycode   2 = Meta_one        
    shift   altgr   alt keycode   2 = Meta_one        
    shiftl  keycode   2 = one             
    shift   shiftl  keycode   2 = exclam          
    altgr   shiftl  keycode   2 = one             
    shift   altgr   shiftl  keycode   2 = one             
    alt shiftl  keycode   2 = Meta_one        
    shift   alt shiftl  keycode   2 = Meta_exclam     
    altgr   alt shiftl  keycode   2 = Meta_one        
    shift   altgr   alt shiftl  keycode   2 = Meta_one        
    shiftr  keycode   2 = one             
    shift   shiftr  keycode   2 = exclam          
    altgr   shiftr  keycode   2 = one             
    shift   altgr   shiftr  keycode   2 = one             
    alt shiftr  keycode   2 = Meta_one        
    shift   alt shiftr  keycode   2 = Meta_exclam     
    altgr   alt shiftr  keycode   2 = Meta_one        
    shift   altgr   alt shiftr  keycode   2 = Meta_one        
    shiftl  shiftr  keycode   2 = one             
    shift   shiftl  shiftr  keycode   2 = exclam          
    altgr   shiftl  shiftr  keycode   2 = one             
    shift   altgr   shiftl  shiftr  keycode   2 = one             
    alt shiftl  shiftr  keycode   2 = Meta_one        
    shift   alt shiftl  shiftr  keycode   2 = Meta_exclam     
    altgr   alt shiftl  shiftr  keycode   2 = Meta_one        
    shift   altgr   alt shiftl  shiftr  keycode   2 = Meta_one        
    ctrll   keycode   2 = one             
    shift   ctrll   keycode   2 = exclam          
    altgr   ctrll   keycode   2 = one             
    shift   altgr   ctrll   keycode   2 = one             
    alt ctrll   keycode   2 = Meta_one        
    shift   alt ctrll   keycode   2 = Meta_exclam     
    altgr   alt ctrll   keycode   2 = Meta_one        
    shift   altgr   alt ctrll   keycode   2 = Meta_one        
    shiftl  ctrll   keycode   2 = one             
    shift   shiftl  ctrll   keycode   2 = exclam          
    altgr   shiftl  ctrll   keycode   2 = one             
    shift   altgr   shiftl  ctrll   keycode   2 = one             
    alt shiftl  ctrll   keycode   2 = Meta_one        
    shift   alt shiftl  ctrll   keycode   2 = Meta_exclam     
    altgr   alt shiftl  ctrll   keycode   2 = Meta_one        
    shift   altgr   alt shiftl  ctrll   keycode   2 = Meta_one        
    shiftr  ctrll   keycode   2 = one             
    shift   shiftr  ctrll   keycode   2 = exclam          
    altgr   shiftr  ctrll   keycode   2 = one             
    shift   altgr   shiftr  ctrll   keycode   2 = one             
    alt shiftr  ctrll   keycode   2 = Meta_one        
    shift   alt shiftr  ctrll   keycode   2 = Meta_exclam     
    altgr   alt shiftr  ctrll   keycode   2 = Meta_one        
    shift   altgr   alt shiftr  ctrll   keycode   2 = Meta_one        
    shiftl  shiftr  ctrll   keycode   2 = one             
    shift   shiftl  shiftr  ctrll   keycode   2 = exclam          
    altgr   shiftl  shiftr  ctrll   keycode   2 = one             
    shift   altgr   shiftl  shiftr  ctrll   keycode   2 = one             
    alt shiftl  shiftr  ctrll   keycode   2 = Meta_one        
    shift   alt shiftl  shiftr  ctrll   keycode   2 = Meta_exclam     
    altgr   alt shiftl  shiftr  ctrll   keycode   2 = Meta_one        
    shift   altgr   alt shiftl  shiftr  ctrll   keycode   2 = Meta_one 

Come puoi vedere, offre molte più funzionalità/granularità. Per ogni chiave, basta scambiare lo spostamento e i valori regolari, ad es. ecco la chiave scambiata:

keycode   2 = exclam              one           exclam              exclam             
    alt keycode   2 = Meta_exclam        
    shift   alt keycode   2 = Meta_one     
    altgr   alt keycode   2 = Meta_exclam        
    shift   altgr   alt keycode   2 = Meta_exclam        
    shiftl  keycode   2 = exclam             
    shift   shiftl  keycode   2 = one          
    altgr   shiftl  keycode   2 = exclam             
    shift   altgr   shiftl  keycode   2 = exclam             
    alt shiftl  keycode   2 = Meta_exclam        
    shift   alt shiftl  keycode   2 = Meta_one     
    altgr   alt shiftl  keycode   2 = Meta_exclam        
    shift   altgr   alt shiftl  keycode   2 = Meta_exclam        
    shiftr  keycode   2 = exclam             
    shift   shiftr  keycode   2 = one          
    altgr   shiftr  keycode   2 = exclam             
    shift   altgr   shiftr  keycode   2 = exclam             
    alt shiftr  keycode   2 = Meta_exclam        
    shift   alt shiftr  keycode   2 = Meta_one     
    altgr   alt shiftr  keycode   2 = Meta_exclam        
    shift   altgr   alt shiftr  keycode   2 = Meta_exclam        
    shiftl  shiftr  keycode   2 = exclam             
    shift   shiftl  shiftr  keycode   2 = one          
    altgr   shiftl  shiftr  keycode   2 = exclam             
    shift   altgr   shiftl  shiftr  keycode   2 = exclam             
    alt shiftl  shiftr  keycode   2 = Meta_exclam        
    shift   alt shiftl  shiftr  keycode   2 = Meta_one     
    altgr   alt shiftl  shiftr  keycode   2 = Meta_exclam        
    shift   altgr   alt shiftl  shiftr  keycode   2 = Meta_exclam        
    ctrll   keycode   2 = exclam             
    shift   ctrll   keycode   2 = one          
    altgr   ctrll   keycode   2 = exclam             
    shift   altgr   ctrll   keycode   2 = exclam             
    alt ctrll   keycode   2 = Meta_exclam        
    shift   alt ctrll   keycode   2 = Meta_one     
    altgr   alt ctrll   keycode   2 = Meta_exclam        
    shift   altgr   alt ctrll   keycode   2 = Meta_exclam        
    shiftl  ctrll   keycode   2 = exclam             
    shift   shiftl  ctrll   keycode   2 = one          
    altgr   shiftl  ctrll   keycode   2 = exclam             
    shift   altgr   shiftl  ctrll   keycode   2 = exclam             
    alt shiftl  ctrll   keycode   2 = Meta_exclam        
    shift   alt shiftl  ctrll   keycode   2 = Meta_exclam     
    altgr   alt shiftl  ctrll   keycode   2 = Meta_exclam        
    shift   altgr   alt shiftl  ctrll   keycode   2 = Meta_exclam        
    shiftr  ctrll   keycode   2 = exclam             
    shift   shiftr  ctrll   keycode   2 = one          
    altgr   shiftr  ctrll   keycode   2 = exclam             
    shift   altgr   shiftr  ctrll   keycode   2 = exclam             
    alt shiftr  ctrll   keycode   2 = Meta_exclam        
    shift   alt shiftr  ctrll   keycode   2 = Meta_one     
    altgr   alt shiftr  ctrll   keycode   2 = Meta_exclam        
    shift   altgr   alt shiftr  ctrll   keycode   2 = Meta_exclam        
    shiftl  shiftr  ctrll   keycode   2 = exclam             
    shift   shiftl  shiftr  ctrll   keycode   2 = one          
    altgr   shiftl  shiftr  ctrll   keycode   2 = exclam             
    shift   altgr   shiftl  shiftr  ctrll   keycode   2 = exclam             
    alt shiftl  shiftr  ctrll   keycode   2 = Meta_exclam        
    shift   alt shiftl  shiftr  ctrll   keycode   2 = Meta_one     
    altgr   alt shiftl  shiftr  ctrll   keycode   2 = Meta_exclam        
    shift   altgr   alt shiftl  shiftr  ctrll   keycode   2 = Meta_exclam

Il motivo della granularità extra è che tendi a usare molte più scorciatoie da tastiera quando usi la console, per sua natura.

Correlati:come installare Tor in Ubuntu?

Ora, per testare le modifiche, puoi utilizzare il seguente comando:

loadkeys ~/my_keymap.map

Gioca, usa alcuni programmi che usi di solito e assicurati che funzioni nel modo desiderato. Se hai sbagliato, puoi semplicemente usare i loadkeys comando per tornare all'impostazione predefinita. Per renderlo permanente, puoi aggiungere il comando alla fine del tuo ~/.bashrc file.

Correlati:"sudo apt-get install foo-" provoca la rimozione del pacchetto foo e tutto ciò che dipende da esso?
Ubuntu
  1. Ruolo VPN in SASE

  2. Come sbloccare dopo aver premuto accidentalmente Ctrl-s in un terminale?

  3. Sovrascrivere alcuni codici chiave con Xkb?

  4. Xmodmap Shift + Keycode per produrre Keysym?

  5. Ubuntu – Disabilita la messa a fuoco alternativa?

Come bloccare Ubuntu premendo un tasto (non provarlo a casa)

Spiegazione del controllo degli accessi basato sul ruolo (RBAC) di Snowflake

Ruoli Ansible e come usarli nei Playbook

Gnome Shell:premere il tasto Super non funziona?

Come installare il ruolo DNS su Windows Server 2012

Inversione del contenuto di una variabile tramite parole