Come rendere le scorciatoie da tastiera come macOS su Ubuntu?


12

Ho visto molte domande a riguardo, ma sembrano tutte rimappare le chiavi, invece di un vero comportamento macOS.

Il mio caso d'uso principale sarebbe quello di "dividere" le scorciatoie: ad esempio vorrei avere Super+ Cper copiare il testo e Ctrl+ Cper inviare un SIGINT al programma corrente.

In questo caso, un semplice rimappare o scambiare Supere Ctrlnon funzionerebbe.

Trovo che il comportamento del mac sia molto pratico, perché usano tutte le scorciatoie più comuni Supere il famoso collegamento di copia non si sovrappone al famoso collegamento di SIGINT .

La maggior parte delle app terminali reagisce alle Ctrlscorciatoie - * e si sovrappongono principalmente alle scorciatoie "standard". Nel Terminale GNOME, dobbiamo premere Ctrl+ Shift+ Cper copiare il testo, mentre in altre applicazioni come Firefox, viene utilizzato Ctrl+ C. Questo è abbastanza ingombrante e incoerente rispetto a Super+ C.


Vorrei puntare a un'altra risposta su askubuntu: askubuntu.com/questions/521202/…
Gautam

Risposte:


0

È possibile ottenere utilizzando i comandi xmodmap:

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

Salvare le righe sopra come super_as_ctrl.xmodmap. Test eseguendo

xmodmap super_as_ctrl.xmodmap

Per rendere permanente la modifica (sopravvivere al nuovo accesso / riavvio), basta rinominare il file .Xmodmapnella cartella principale.

(Testato su Ubuntu 14.x)

PS: puoi anche utilizzare altri pulsanti di Windows. Non sono sicuro di come farlo.


Ciò rende Ctrl-C e Super-C entrambi inviati ^Calla shell. Mi aspettavo che uno di questi si comportasse come una copia. Testato su SO elementare
Benoit Duffez

0

Per creare nuove scorciatoie ed eliminare quelle vecchie, vai su Impostazioni di sistema >> tastiera >> scorciatoie . Lì puoi vedere tutte le scorciatoie, modificarlo, eliminarlo e crearne di nuovi.


0

Le seguenti vite 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 eseguo 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 tentando di modificare e a cui fa riferimento xmodmap, al fine di ottenere la funzionalità desiderata. Questo codice viene avviato ogni volta che eseguo l'accesso e ho una sessione interattiva tramite .profile, ma a questo scopo vive in un file .ps1.

#!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 rendere possibile lo scambio:

if [ -f  "$HOME/.uxSwapCapsLock-and-Ctrl" ]; then
   .  $HOME/.uxSwapCapsLock-and-Ctrl
fi
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.