Come rendere le scorciatoie da tastiera come macOS su Ubuntu?

9

Ho visto molte domande su questo argomento, ma sembrano tutte eseguire rimappare delle chiavi, invece di un vero comportamento macOS.

Il mio caso d'uso principale sarebbe quello di "dividere" le scorciatoie: per esempio mi piacerebbe avere Super + C per copiare il testo, e Ctrl + C per inviare un SIGINT al programma corrente.

In questo caso, una semplice rimappatura o scambio di Super e Ctrl non funzionerebbe.

Trovo che il comportamento del mac sia molto pratico, perché tutte le scorciatoie più comuni usano Super , e la famosa scorciatoia copia non si sovrappone al famoso < em> collegamento SIGINT .

La maggior parte delle app terminali reagisce alle scorciatoie Ctrl - * e si sovrappongono per lo più a scorciatoie "standard". Nel Terminale GNOME, dobbiamo premere Ctrl + Shift + C per copiare il testo, mentre in altre applicazioni come Firefox, Ctrl + C è usato. Questo è piuttosto ingombrante e incoerente rispetto a Super + C .

    
posta Benoit Duffez 05.12.2016 - 14:34

3 risposte

0

Puoi ottenere usando i comandi xmodmap:

remove mod4 = Super_L
keysym Super_L = Control_L
add Control = Control_L

Salva le righe sopra come super_as_ctrl.xmodmap . Prova eseguendo

xmodmap super_as_ctrl.xmodmap

Per rendere permanente la modifica (re-login / riavvio sopravvissuto) basta rinominare il file in .Xmodmap nella cartella home.

(Testato su Ubuntu 14.x)

PS: potresti anche usare il pulsante di un'altra finestra. Non sei sicuro di come farlo.

    
risposta data abhinandanbr 08.09.2017 - 12:26
0

Per creare nuovi collegamenti e cancellare quelli vecchi, vai a Impostazioni di sistema & gt; & gt; tastiera & gt; & gt; scorciatoie . Qui puoi vedere tutte le scorciatoie, modificarle, eliminarle e crearne di nuove.

    
risposta data Aarogya Rijal 11.09.2017 - 04:04
0

Le seguenti vite sono presenti nel mio $HOME/.uxSwapCapsLock-and-Ctrl . Scambia efficacemente la funzionalità dei tasti CapsLock e Ctrl per qualsiasi shell in uso su qualsiasi sistema Linux ogni volta che effettuo l'accesso e avvia una sessione interattiva all'interno di una shell, su un determinato sistema. Sono sicuro che puoi conoscere il nome della chiave pertinente che stai cercando di modificare, e sono indicati da xmodmap, al fine di ottenere la funzionalità che desideri. Questo codice viene avviato ogni volta che effettuo il login e ho una sessione interattiva tramite .profile, ma vive in un file .ps1 per questo scopo.

#!bin/bash
xmodmap -e "remove Lock = Caps_Lock"
xmodmap -e "remove Control = Control_L"
xmodmap -e "keysym Control_L = Caps_Lock"
xmodmap -e "keysym Caps_Lock = Control_L"
xmodmap -e "add Lock = Caps_Lock"
xmodmap -e "add Control = Control_L"
#End script

Questo è il controllo .profile per fare in modo che lo swap avvenga:

if [ -f  "$HOME/.uxSwapCapsLock-and-Ctrl" ]; then
   .  $HOME/.uxSwapCapsLock-and-Ctrl
fi
    
risposta data user261380 03.10.2017 - 21:36