Come scambiare a livello di programmazione i tasti Caps Lock e Esc?

17

Sono un utente Vim pesante e una delle prime cose che faccio quando inizio a lavorare su un'installazione pulita di ubuntu è di scambiare i tasti caps lock e esc per ridurre i movimenti delle mani sulla tastiera.

Finora l'ho fatto attraverso la finestra di configurazione della tastiera, ma ora sto scrivendo una serie di script che imposteranno Ubuntu nel modo che preferisco e non sono stato in grado di trovare uno script o modo programmabile per modificare questo elemento di configurazione.

Non sto cercando opzioni che scambino i tasti a un livello diverso da quello di gnome, quindi quello che sto cercando è un modo per scrivere questo cambiamento e farlo apparire nella configurazione della tastiera che ho usato, dovrebbe Decido di ripristinarlo manualmente in futuro.

    
posta Jacobo de Vera 19.04.2011 - 10:04

1 risposta

22

Puoi farlo attraverso la GUI aprendo il pannello di controllo Keyboard Preferences (sotto System -> Preferences ) e seleziona la scheda Layout . Fai clic sul pulsante Options... per aprire la finestra di dialogo delle opzioni di layout. Espandi la sezione Caps Lock key behaviour e seleziona Swap ESC and Caps Lock .

Ci sono alcuni modi in cui puoi scrivere questo tipo di cose.

Direttamente tramite Xkb

Possiamo apportare le modifiche direttamente con quanto segue:

setxkbmap -option caps:swapescape

Puoi disabilitare tutte le opzioni di layout correnti (che restituiranno il blocco maiuscolo al suo comportamento predefinito) con:

setxkbmap -option ''

Via GConf

Il pannello di controllo delle preferenze della tastiera memorizza la sua configurazione tramite gconf , con il layout effettivamente applicato da gnome-settings-daemon . Pertanto, puoi modificare gnome-settings-daemon per regolare il layout aggiornando gconf da solo.

L'impostazione pertinente in questo caso sembra essere /desktop/gnome/peripherals/keyboard/kbd/options . Quindi puoi impostare l'opzione con:

gconftool-2 --set /desktop/gnome/peripherals/keyboard/kbd/options \
    --type list --list-type string \
    '[caps<tab>caps:swapescape]'

In quanto sopra, <tab> dovrebbe essere un carattere di tabulazione letterale anziché spazi. Puoi disabilitare nuovamente il comportamento impostando la chiave gconf su una lista vuota.

    
risposta data James Henstridge 19.04.2011 - 10:36

Leggi altre domande sui tag