Wie funktioniert die Tastatur wie OSX System Wide?


111

Ich wechsle ständig zwischen zwei Computern hin und her:

  • OSX Snow Leopard
  • Ubuntu 10.10

Ich möchte Ubuntu dazu bringen, die gleichen Tastaturkürzel wie OSX System Wide nur für die folgenden Tastatursequenzen zu verwenden (dh ich möchte nicht, dass Strg wie Super wirkt)

  • Super+C -> Kopieren

  • Super+V -> Einfügen

  • Super+T -> Öffne einen neuen Tab in meinem Browser.

  • Super+W -> Schließe einen Tab in dem Browser, in dem ich mich befinde.

Gibt es für mich, kurz gesagt, überhaupt die Möglichkeit, nur diese Tastatursequenzen systemweit den folgenden zuzuordnen ?

  • Super+C -> Ctrl+C
  • Super+V -> Ctrl+V
  • Super+T -> Ctrl+T
  • Super+W -> Ctrl+W

Ich weiß, dass es für mich Möglichkeiten gibt, dies für vim und Firefox zu tun, und ich bin mir sicher, dass dies für die meisten Anwendungen spezifisch ist ... aber ich würde es vorziehen, dies nur einmal zu tun und es systemweit so funktionieren zu lassen !

Ich benutze eine Standard-PC-Tastatur, das heißt "Generic 105 key (intl) PC" unter Ubuntu. Ich verwende dieselbe Tastatur auch auf meinem Mac mini.


4
Wenn Sie dies für alle Mac-Tastaturkürzel aktiviert haben, wäre es großartig, Ihre Konfigurationsdatei zu teilen! Vielen Dank
Dolan Antenucci

Hallo! Ich wünschte , ich habe immer noch, aber ich arbeite jetzt ausschließlich auf Mac, als ich den Job verschoben haben ;-) Also ich nicht meine alte config um überall ...
Brad Parks

Lösungen funktionieren nicht auf elementaren Betriebssystemen. '
Paschalis

Antworten:


38

Wenn Sie das xautomation-Paket installieren, können Sie unter System / Preferences / Keyboard Shortcuts / Custom einen Befehl hinzufügen, der wie folgt lautet:

xte "keyup Meta_L" "keyup c" "keydown Control_L" "key c" "keyup Control_L"

und ordne das Meta-C zu.


Alternative Lösung:

Installiere AutoKey (apt-get install autokey-gtk) und setze eine Phrase auf:

Phrase Text: <ctrl>+C (actually type out the <ctrl>+ here)
Paste Using: Keyboard
Abbreviation: None
Hotkey: <super>+v
Window Filter: None

Hallo! das sieht sehr vielversprechend aus ... ich habe es installiert und kann den obigen xte-befehl vom terminal ausführen, und es gibt "^ C" im terminal aus ... was für mich gut aussieht! aber wenn ich es in Tastenkombinationen zuordne, macht es nichts ... Ich habe versucht, Meta-C ein anderes Programm zuzuordnen, und es funktioniert einwandfrei (dh startet einwandfrei, wenn ich Meta-C drücke). Ich habe auch versucht, den vollständigen Pfad zu xte (/ usr / bin / xte) anzugeben, und das hat auch nicht funktioniert. Können Sie dies auf Ihrem System ausprobieren und sehen, ob es funktioniert? Vielen Dank!
Brad Parks

1
Xte sendet also die Schlüsselcodes korrekt, aber anscheinend sehen Anwendungen die Kombination der Tastenkombination und der von xte gesendeten Tastendrücke (z. B. Meta-Control-C). Ich habe meine Antwort aktualisiert, um das Freigeben der Tastenkombinationen vor dem Senden der Tastendrücke zu simulieren .
cscarney

2
Beim schnellen Überprüfen funktioniert es für mich, aber ich habe eine Lösung gefunden, die wahrscheinlich zuverlässiger ist als xte (auch wenn Sie es zum Laufen bringen). Überprüfen Sie die überarbeitete Antwort.
cscarney

1
Hallo! danke @cscarney! Ihre "Alternative Lösung" für AutoKey funktioniert völlig! Vielen Dank für Ihre Bemühungen!
Brad Parks

1
Lösungen funktionieren nicht für Ubuntu 18.04
JZ.

17

Für Ubuntu 14 oder neuer können Sie dies tun:

sudo apt-get install gnome-tweak-tool

Suchen Sie dann nach Tweak Tool> Typing> Alt / Win key behaviour

Und überprüfen Sie: Strg ist Win-Tasten (und üblichen Strg-Tasten) zugeordnet



In einer neuen Installation von Ubuntu 16 scheint die Installation dieses Gnome-Settings-Daemons erforderlich zu sein, der eine Spur von Paketen zu hinterlassen scheint, die sich nicht so anfühlen, als wären sie für die Installation gedacht.
Tom Lianza

Bei weitem die einfachste Option, wenn Sie möchten, dass die Befehlstaste der cmd-Taste in einem Mac gleicht, hauptsächlich zum Kopieren und Einfügen. Ich bin auf Ubuntu-Gnome-Desktop
LXM7

Dies funktioniert hervorragend für das Kopieren und Einfügen von Befehlen und hindert mich daran, ständig das Suchmenü in Ubuntu zu öffnen. Jetzt muss ich nur noch Alt-Tab die
Ron Smith

1
Ich sehe Tweak Tool in meinen Apps nicht. Was soll ich machen?
Jadda

13

Es gibt eine Möglichkeit Ctrl, Win/ Superkey zuzuordnen :

  1. gehe zu system-> einstellungen-> tastatur ,

  2. Öffnen Sie die Registerkarte Layouts .

  3. Klicken Sie auf Optionen ... ,

  4. Open Alt/ WinKey-Verhalten ,

  5. und wählen Sie Steuerung wird Win-Tasten zugeordnet

Und für die Konsole gibt es ein Forum Post , wie Sie das hier .

Weitere Informationen finden Sie im allgemeinen Linux-HOWTO .

Grüße


3
hey @danizmax - danke für die antwort ... aber ich möchte ausdrücklich vermeiden, das komplette verhalten von strg zu ändern ... ich finde es verschraubt mit anderen dingen, wenn ich das tue ... ich möchte wirklich nur das abbilden Tastaturkürzel, die ich in der Post erwähnt habe ... trotzdem danke!
Brad Parks

Nun, die Strg + bleibt wie sie ist. Es werden nur alle Strg + bis Super + dupliziert, sodass Sie nur das Verhalten hinzufügen. Wenn Sie nicht wirklich nur die von Ihnen erwähnten ändern möchten, müssen Sie viel mit xmodmap und loadkeys graben. Ich habe den Link zum allgemeinen Linux-Tastatur-HOWTO hinzugefügt. Hoffe, es hilft: P
Danizmax

1
Dies war die einfachste von allen vorgeschlagenen Lösungen.
Datageek

1
Ich sehe die Option "options" oder "alt / win key behaviour" in den Systemeinstellungen in Ubuntu 15.10 nicht mehr.
user29020

1
Das ist jetzt in Gnome Tweaks, "Tastatur und Maus"
Yrogirg

8

Zur Erweiterung auf cscarney der AutoKey Hinweis , Ich entwickle meine AutoKey Konfiguration all dies in Ubuntu zu erreichen (O X-like <cmd>+c, <cmd>+v... Emacs-Stil <ctrl>+f, <ctrl>+b...) in meinem dotfile Repo .

Ich verwende keine grundlegenden Phrasen (bei denen die Fensterfilterung derzeit fehlerhaft ist ), sondern Python-Skripte, um AutoKey in Apps wie Emacs, Eclipse, Vim, Gnome-Terminal ... deaktivieren zu können, in denen ich nichts anstellen möchte die vorhandenen Verknüpfungen.

Sie können die Besuche READMEauf der Unterseite für Anweisungen, wie es einzurichten.


Der Link für die App ist unterbrochen
chifliiiii

@chifliiiii hat die Links repariert, aber beachten Sie, dass die verknüpfte Konfiguration in meinen Punktedateien sehr wahrscheinlich veraltet ist, da ich sie seit Jahren nicht mehr verwendet habe.
Metakermit

5

Einige der oben genannten Lösungen sind veraltet und funktionieren nicht mit Ubuntu 18.04. Hier ist eine aktualisierte Antwort

  1. Installieren Sie gnome-tweaks, wenn es nicht im System installiert ist

    sudo apt-get install gnome-tweaks

  2. Öffnen Sie die Liste der Anwendungen , indem Sie zeigen Anwendungen auf am linken unteren Rand.

  3. Beachten Sie, dass dies nur das Verhalten der WINDOWS-Taste in die CMD-Taste ändert und die STRG-Taste unverändert bleibt (Sie haben 2 STRG-Tasten). Wenn Ihnen dies nicht gefällt, überspringen Sie Schritt 4 und fahren Sie mit Schritt 5 fort

  4. Suchen Sie nach Tweaks application --> Keyboard and Mouse --> Additional Layout options --> Alt/Win behavior --> Select Control is mapped to Win keys and the usual Ctrl Keys.

  5. Überspringen Sie diesen Schritt, wenn Sie Schritt 4 abgeschlossen haben. In diesem Schritt wird das Verhalten der Windows-Taste auf Strg und umgekehrt umgestellt. SuchenTweaks application --> Keyboard and Mouse --> Additional Layout options --> Ctrl Position --> Select Swap Left Win with Left Ctrl

  6. Eine weitere Sache, die ich von macOS vermisse, ist die Möglichkeit, Windows mit CMD + Tab (in diesem Fall Windows + Tab) zu wechseln. Um dies zu erreichen, gehen Sie zuSettings --> Keyboard --> Look for Switch Windows under navigation section --> Double Click it and press Windows+Tab when pop up appears


5

Ich wollte eine Lösung, die in jeder Desktop-Umgebung / in jedem Fenstermanager funktioniert, und kombinierte daher den Vorschlag von cscarney, xautomation mit dem SXHKD (dem einfachen X-Hotkey-Daemon) zu verwenden.

Hier ist die grundlegende ~/.config/sxhkd/sxhkdrcKonfigurationsdatei, die ich erstellt habe.

Erweitert: Meine neueste Version ist vollständiger und kann verschiedene Tastatureingaben für verschiedene Anwendungen senden, erfordert jedoch ein externes Skript und möglicherweise einige Bindungen, die Sie nicht möchten.

Hier ist ein Ausschnitt:

# Reload this config
control + alt + shift + r
  killall -USR1 -u "$USER" sxhkd && echo 'sxhkd config reloaded'

# Cut, copy and paste
alt + x
  xte "keyup x" "keyup Meta_L" "keydown Control_L" "key x" "keyup Control_L" "keydown Meta_L"
alt + c
  xte "keyup c" "keyup Meta_L" "keydown Control_L" "key c" "keyup Control_L" "keydown Meta_L"    
alt + v
  xte "keyup v" "keyup Meta_L" "keydown Control_L" "key v" "keyup Control_L" "keydown Meta_L"

# Open tab, close tab, restore closed tab
alt + t
  xte "keyup t" "keyup Meta_L" "keydown Control_L" "key t" "keyup Control_L" "keydown Meta_L"
alt + w
  xte "keyup w" "keyup Meta_L" "keydown Control_L" "key w" "keyup Control_L" "keydown Meta_L"    
alt + shift + t
  xte "keyup t" "keyup Meta_L" "keydown Control_L" "key t" "keyup Control_L" "keydown Meta_L"

# Move to home/end
alt + Left
  xte "keyup Meta_L" "keyup Left" "key Home" "keydown Meta_L"
alt + Right
  xte "keyup Meta_L" "keyup Right" "key End" "keydown Meta_L"
alt + shift + Left
  xte "keyup Meta_L" "keyup Left" "key Home" "keydown Meta_L"
alt + shift + Right
  xte "keyup Meta_L" "keyup Right" "key End" "keydown Meta_L"

# Move one word
super + Left
  xte "keyup Super_L" "keyup Left" "keydown Control_L" "key Left" "keyup Control_L" "keydown Super_L"
super + Right
  xte "keyup Super_L" "keyup Right" "keydown Control_L" "key Right" "keyup Control_L" "keydown Super_L"
super + shift + Left
  xte "keyup Super_L" "keyup Left" "keydown Control_L" "key Left" "keyup Control_L" "keydown Super_L"
super + shift + Right
  xte "keyup Super_L" "keyup Right" "keydown Control_L" "key Right" "keyup Control_L" "keydown Super_L"

Hinweis:

  • Wie Sie sehen, wenn ich die ursprüngliche Modifikatortaste vor dem Ausführen des virtuellen Strichs drücke, drücke ich sie anschließend erneut. Dies bedeutet, dass der Benutzer den Tastendruck wiederholen kann, ohne die Modifikatortaste erneut loslassen und drücken zu müssen. Mit anderen Worten, nach dem Drücken von Alt-W sieht das System, dass die Alt-Taste gedrückt ist.

Vorsichtsmaßnahmen:

  • Dies kann ein Problem sein (insbesondere auf langsameren Computern), wenn Sie die Alt-Taste loslassen, während der Befehl xte noch ausgeführt wird . Sie erhalten eine "sticky" Alt-Taste, weil xte sie für Sie gedrückt hat!

  • Bei dieser Methode werden die Trigger nicht wiederholt, wenn die Taste gedrückt gehalten wird. (Sie können also nicht 12 Wörter verschieben, indem Sie die Taste "Super-Links" gedrückt halten.)


Früher habe ich verwendet bbkeys, aber leider wird es heutzutage nicht mehr in so vielen Distributionen verpackt.
Joeytwiddle

4

Dies ist eine einfache Aufgabe, sobald Sie wissen, wie es geht.

1) Überprüfen Sie den Schlüsselcode Ihres Schlüssels. Führen Sie dieses Programm am Terminal aus.

xev


In diesem Beispiel zeigt das Terminal, dass der Schlüsselcode für my k"45" ist.

2) Ändern Sie sie, wie Sie diese Datei erstellen möchten:

gedit ~ / .Xmodmap

Der Inhalt sollte wie folgt aussehen:

Schlüsselcode 64 = Alt_L Meta_L Alt_L Meta_L Schlüsselcode
108 = ISO_Level3_Shift NoSymbol ISO_Level3_Shift

(Ändern Sie den Schlüsselcode nach Bedarf - siehe Schritt "1")

Ilustration:
(Obs .: Wenn ich meine ändern möchte, ksollte ich "Schlüsselcode 45" verwenden, wie in Schritt "1" gezeigt).

4) Abmelden und wieder anmelden oder neu starten oder ausführen:

xmodmap ~ / .Xmodmap

Ich hoffe dir gefällt es ;-)



1

Zuerst
installieren Guest Additions CD ( Devices->Insert Guest Additions CD image).

Zwischenablage-Sharing aktivieren
Gehen Sie nach einem Neustart in Virtualbox zu Machine->Settings->General->Advancedund legen Sie fest
Shared Clipboard: Bidrectional

VirtualBox Host Key
In ändernVitualbox/Preferences/Input/Virtual Machine/Host Key Combination
Wählen Sie dann etwas anderes

Tastenbelegung :
Für die cmd/ctrlBelegung scheint mir das Hinzufügen der englischen (Macintosh) Tastatur die bequemste Lösung zu sein :)

Gehe zu Ubuntu Settings->Text Entry
(ich vermute in älteren Versionen könnte es in den Tastaturlayout-Einstellungen sein)
Unter Input sources to use:Treffer plus (+)
hinzufügenEnglish (Macintosh)

Ich bin auf Ubuntu 14.04.3 LTS 64bit in VirtualBox 5.0.4


1

Hier ist eine viel einfachere Lösung, Kinto. Ich arbeite jetzt seit 3 ​​Jahren daran und habe endlich das Gefühl, dass ich etwas dazu beitragen kann, weil es funktioniert, im Gegensatz zu meinen letzten 2 Versuchen. Es ist für x11- und systembasierte Distributionen gedacht, aber das Konzept wird auf Wayland übertragen, sobald ich eine gute Möglichkeit zur Implementierung gefunden habe, trotz der erhöhten Sicherheit, die die Arbeit erschwert.

1) Fazit (für diejenigen, die nur die Prämisse sehen oder ihre eigene alternierende Lösung implementieren möchten, Randfälle nicht abgedeckt).

https://gist.github.com/rbreaves/f4cf8a991eaeea893999964f5e83eebb

2) Das ausführliche Installationsprogramm, das systemd, bash und xprop verwendet. (Edge-Cases, wie Chromebooks, waren überraschend schwer zu unterstützen, aber ich mag meine, damit jeder davon profitieren kann!)

https://github.com/rbreaves/kinto

Der Grund für Kinto, japanisch für Flip, ist der folgende: Selbst wenn Sie für jede normale GUI-App ein Key-Remapping mit einer anderen Methode perfektioniert haben, werden Sie unter Linux nicht auf einfache Weise dieselbe Terminal-Erfahrung haben wie Sie auf einem Mac. Und das ist bedauerlich, denn Macs verwöhnen uns Entwickler mit einer Tastaturbelegung, die für Terminal-Apps überraschend gut funktioniert. Der Punkt, den ich getan habe, indem ich Ihre Tastaturbelegung über setxkbmap und die verwendete aktive App in eine von zwei Layoutoptionen geändert habe, ist, dass Sie die wenigsten zusätzlichen Tastenkombinationen erstellen müssen, die für eine bestimmte App spezifisch sind.

Im Wesentlichen kämpfen Sie mit dieser Lösung nicht darum, wie Sie neue Tastenkombinationen ordnungsgemäß erstellen oder Verknüpfungskonflikte in Ihren Terminal-Apps im Vergleich zu den übrigen GUI-Apps vermeiden können. Sie bekommen einfach das Beste aus beiden Wörtern und es funktioniert so nahtlos wie möglich - abgesehen davon, dass Standard-Konfigurationsdateien für Verknüpfungen für verschiedene Terminals und beliebte Texteditoren enthalten sind, die ich später einschließen werde. Sogar Texteditoren wie Sublime tauschen die Befehlstaste nicht einfach bei jeder Verknüpfung mit Strg aus, sondern richten sie zu 95% oder mehr der von mir angegebenen Zeit korrekt aus.

Und was Wayland betrifft, so habe ich einen Machbarkeitsbeweis, wie dieser Keymap-Keyswap-Trick in KDE Plasma 5 mit einem vorhandenen Widget funktioniert, bei dem App-Namen eingegeben werden. Wenn jemand eine bessere Lösung hat, bin ich ganz Ohr, besonders wenn es auch auf x11 funktionieren kann. Xprop ist auf x11 völlig ausreichend, aber auf Wayland offensichtlich nicht verwendbar.

https://github.com/rbreaves/applet-window-title/commit/ff17e694579a52a9848d6bea87b2d11f22033718


0

Ich habe kein Ubuntu zur Hand (Mac ist hier, Ubu ist im Büro), aber ich benutze dort eine Mac-Tastatur und aus den gleichen Gründen wie Sie wollte ich das tun.

Stellen Sie zunächst sicher, dass Ihre Tastatur als Mac-Tastatur installiert wurde. Ich denke, Sie können dies in System-> Einstellungen-> Tastatur ändern. Während Sie dort sind, werden Sie auf einer der Registerkarten zu einer Seite mit der Tastenzuordnung geführt, auf der Sie die Funktionsweise der cmd-Taste festlegen können.

Wie ich schon sagte, ich kann mich nicht genau erinnern - ich kann hier auf die Stellen auf meinem Bildschirm zeigen, aber das funktioniert nicht, weil ich nicht da bin.

Wenn du morgen noch feststeckst, schaue ich noch einmal.


System-> Einstellungen-> Tastatur-> Layouts-> Optionen
Leo

hi leo ... ich benutze aber keine Mac-Tastatur mit Ubuntu ... ich benutze eine Standard-PC-Tastatur, dh "Generic 105 key (intl) PC" hat versucht, mein "Tastaturmodell" auf Vendor Apple / umzustellen. Model Apple, aber das schien keinen Unterschied zu machen ... Ich habe auch Vendor Apple / Model Macbook ausprobiert und das schien auch nichts zu ändern ...
Brad Parks

und für das, was es wert ist, verwende ich auf meinem macmini genau dieselbe PC-Tastatur, da ich sie aus zweiter Hand gekauft habe und sie nicht mit einer Mac-Tastatur geliefert wurde. Danke noch einmal.
Brad Parks

0

Autokeys arbeiteten für mich. Jetzt können Sie mit win + c (v, x, a) mein System so umgehen, wie ich es erwartet hätte.

1. Installieren Sie Autoschlüssel

sudo apt install autokey-gtk

2. Konfigurieren Sie die Autoschlüssel

  1. Fügen Sie den Stammordner hinzu, nennen Sie ihn so etwas wie MacKeys oder was auch immer
  2. Sie erstellen dort 4 Skripte für Strg-C, V, X und A
  3. Weisen Sie jedem Skript-Hotkey Super-C, Super-V usw. zu
  4. Füllen Sie die Skripte mit dem folgenden Code aus (ersetzen Sie den Buchstaben c für andere Kombinationen)

winClass = window.get_active_class() keys = "<ctrl>+c" if winClass == "gnome-terminal-server.Gnome-terminal": keys = "<ctrl>+<shift>+c"; keyboard.send_keys(keys)

4a. Für CmdZ, CmdA oder CmdX arbeiten Sie mit einfacheren Skripten wiekeyboard.send_keys("<ctrl>+x")

3. Fügen Sie den Startanwendungen / usr / bin / autokey-gtk hinzu

4. Deaktivieren Sie Win-A in den Tastatureinstellungen

Normalerweise wechselt win-a zur Übersicht.

5. Optional, Win vollständig verhindern, um die Übersicht zu wechseln

Wahrscheinlich möchten Sie es entfernen. Installieren Sie das Gnome-Tweak-Tool, gehen Sie zur Tastatur und binden Sie den Wechsel vom Desktop zur Übersicht erneut. Das hat bei meinem Gnome Ubuntu 16.04 geklappt.

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.