Wie mache ich die Tastaturkürzel wie macOS unter Ubuntu?


12

Ich habe viele Fragen dazu gesehen, aber alle scheinen eine Neuzuordnung der Schlüssel anstelle eines tatsächlichen MacOS-Verhaltens vorzunehmen .

Mein Hauptanwendungsfall wäre das "Teilen" der Verknüpfungen: Zum Beispiel möchte ich Super+ CText kopieren und Ctrl+ Cein SIGINT an das aktuelle Programm senden.

In diesem Fall würde eine einfache Neuzuordnung oder ein Austausch von Superund Ctrlnicht funktionieren.

Ich finde das Verhalten des Mac sehr praktisch, weil alle die am häufigsten verwendeten Abkürzungen verwenden Super, und die berühmte Kopie Abkürzung nicht Überlappung der berühmten SIGINT Verknüpfung.

Die meisten Terminal-Apps reagieren auf Ctrl- * Verknüpfungen und überschneiden sich meist mit "Standard" -Verknüpfungen. In GNOME Terminal müssen wir Ctrl+ Shift+ drücken, Cum Text zu kopieren, während in anderen Anwendungen wie Firefox Ctrl+ Cverwendet wird. Dies ist im Vergleich zu Super+ ziemlich umständlich und inkonsistent C.


Antworten:


0

Sie können dies mit xmodmap-Befehlen erreichen:

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

Speichern Sie die obigen Zeilen als super_as_ctrl.xmodmap. Test durch Ausführen

xmodmap super_as_ctrl.xmodmap

Um die Änderung dauerhaft zu machen (nach dem erneuten Anmelden / Neustarten), benennen Sie die Datei einfach .Xmodmapin Ihren Home-Ordner um.

(Getestet unter Ubuntu 14.x)

PS: Sie können auch andere Windows-Schaltflächen verwenden. Ich bin mir nicht sicher, wie ich das machen soll.


Dadurch werden Strg-C und Super-C beide ^Can die Shell gesendet. Ich hatte erwartet, dass sich eines davon wie eine Kopie verhält. Getestet auf elementarem Betriebssystem
Benoit Duffez

0

Um eine neue Verknüpfung zu erstellen und alte zu löschen, gehen Sie einfach zu Systemeinstellungen >> Tastatur >> Verknüpfungen . Dort können Sie alle Verknüpfungen anzeigen, bearbeiten, löschen und neue erstellen.


0

Das Folgende lebt in meinem $HOME/.uxSwapCapsLock-and-Ctrl. Es tauscht effektiv die Funktionalität der CapsLock- und Ctrl-Schlüssel für jede Shell aus, die auf einem Linux-System verwendet wird, wenn ich mich anmelde, und initiiere eine interaktive Sitzung innerhalb einer Shell auf einem bestimmten System. Ich bin sicher, Sie können sich über den relevanten Schlüsselnamen informieren, den Sie ändern möchten und auf den xmodmap verweist, um die gewünschte Funktionalität zu erhalten. Dieser Code wird jedes Mal initiiert, wenn ich mich anmelde und eine interaktive Sitzung über .profile durchführe. Zu diesem Zweck befindet er sich jedoch in einer .ps1-Datei.

#!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

Dies ist die .profile-Prüfung, damit der Tausch stattfindet:

if [ -f  "$HOME/.uxSwapCapsLock-and-Ctrl" ]; then
   .  $HOME/.uxSwapCapsLock-and-Ctrl
fi
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.