Gibt es ein Programm, mit dem Sie Tastaturkürzel erstellen können, die aus normalen Tasten bestehen?

Ich suche nach einer Methode, mit der ich benutzerdefinierte, nicht standardmäßige Tastenkombinationen in einen derzeit nicht verwendeten Zwischenschlüssel (wie F16oder so) umwandeln kann. Die Zwischentaste könnte dann in anderen Anwendungen (z. B. FastScripts) erkannt werden, sodass ich diese Zwischentastenkombination endlich jeder gewünschten Aktion innerhalb dieser Anwendung zuweisen kann.

Mit „nicht standardmäßigen Tastenkombinationen“ meine ich Kombinationen, die keine Zusatztaste enthalten (also , ⌘ command, ⌥ option, ⌃ control, fnoder ⇧ shift).

Beispiele für nicht standardmäßige Tastenkombinationen, die gleichzeitig gedrückt werden:

  • 1+0

  • A+D

  • space bar+V

  • W+5

  • tab+Q

Ich habe Karabiner installiert , aber ich sehe keine Möglichkeit, dies in Karabiner zu erreichen.

Gibt es Programme, die das können, was ich suche?

OS X El Capitan, Version 10.11.6.

vielleicht könnten die Tastenfolgen von BTT funktionieren. docs.bettertouchtool.net/docs/key_sequences.html .
@hyph Interessant. Ich bin mit BetterTouchTool nicht vertraut. Wissen Sie, ob es nur funktioniert, wenn die Tastendrücke nacheinander erfolgen, oder ob es auch funktioniert, wenn die Tastendrücke gleichzeitig erfolgen?
Ich glaube, ich habe Ihre Anforderungen tatsächlich nicht richtig gelesen. Sie können diese Sequenzen nur mit einem normalen Shortcut (mit einem Modifikator) auslösen. Nicht umgekehrt.

Antworten (3)

Dies kann in Karabiner erfolgen, ist jedoch kontraintuitiv und stellt die übliche Tastaturnutzung auf den Kopf (überprüfen Sie die ersten Sätze von Monomeeths Antwort).

Ein Beispiel für [M+N] bis F13 ist bereits in den Presets von Karabiner enthalten:

Geben Sie hier die Bildbeschreibung ein

Das Zuordnen von 1+0 zu F16 würde erfordern, das folgende Snippet zu private.xml hinzuzufügen:

<item>
  <name>Simultaneous Key Presses [0+1] to F16</name>
  <identifier>remap.simultaneouskeypresses_012f16</identifier>
  <autogen>__SimultaneousKeyPresses__ KeyCode::KEY_0, KeyCode::KEY_1, KeyCode::F16</autogen>
</item>

Durch das Definieren einer zusätzlichen vk_lazy-Taste (zB 0) sollte es auch möglich sein, zuerst 0 und dann 1 zu drücken und abhängig von der ersten Taste entweder ein F16 zu senden oder zu schreiben 01, was ein komfortableres Verhalten beim Tippen von "Shortcuts" auf einer Tastatur ist.

Können Karabiner-Shortcuts pro App festgelegt werden?
@hyph Sicher, einige Apps sind in appdef.xml vordefiniert, aber Sie können andere hinzufügen. Um die obige "Verknüpfung" nur auf Excel zu beschränken, müsste man <only>EXCEL</only>das Snippet hinzufügen (Excel ist vordefiniert!).
Du hast mir etwas Neues über Karabiner beigebracht. Ich hatte die Tastenkombination [M+N] gesehen, bevor ich meinen Beitrag verfasst hatte, aber ich hatte fälschlicherweise angenommen, dass diese eine, feste Kombination die einzige Tastenkombination für reguläre Tasten war, die Karabiner erstellen konnte. Ich habe alle 5 Beispiel-Shortcuts aus meinem ursprünglichen Beitrag mit Ihrer Methode getestet, und Karabiner funktioniert einwandfrei! Danke schön! Außerdem denke ich, dass ich deinem letzten Satz jetzt zustimme (je mehr ich darüber nachdenke). (Notizen an mich selbst: Fügen Sie das erste benutzerdefinierte Element in der Zeile darunter ein </root>. Beachten Sie beim Bearbeiten der XML-Datei, dass zwischen Groß- und Kleinschreibung unterschieden wird.)
Dies ist eine großartige Lösung. Mir gefällt, wie anpassbar Karabiner offensichtlich ist!

Ich glaube nicht, dass das, was Sie tun wollen, möglich sein wird, wenn Karabiner es nicht kann.

Der Grund, warum wir Zusatztasten (dh control, option, shiftund command) haben, ist, dass sie die standardmäßigen alphanumerischen Tasten so modifizieren müssen, dass sie neben ihrem alphanumerischen Wert als etwas anderes erkannt werden. Lassen Sie mich das näher erläutern:

  • Wenn eine alphanumerische Taste gedrückt wird, wird ihre Eingabe an die vorderste aktive Anwendung gesendet. Wenn Sie also MS Word geöffnet haben und unter Verwendung Ihres ersten Beispiel-Tastenkürzels: 1+ 0, wird das Drücken dieser Tasten von MS Word als „1“ bzw. „0“ erkannt, es sei denn, ihr Wert wird geändert (z. B. durch eine Modifikatortaste). .
  • Aber was Sie effektiv tun möchten, wenn Sie Ihre erste Beispiel-Tastenkombination verwenden: 1+ 0wieder als Beispiel, ist die Verwendung der 1Taste als Modifikatortaste und/oder die Tatsache, dass die Tasten 1und , wenn sie gleichzeitig gedrückt werden , etwas anderes als a darstellen '1' und '0'.0
  • Jetzt können Sie sehen, warum dies Probleme verursachen kann: Wenn die 1Taste als Zusatztaste fungiert, wie bringen Sie dann die aktive App dazu, eine „1“ zu erkennen, wenn Sie es brauchen? Oder wenn Sie möchten, dass dies nur funktioniert, wenn die Tasten 1+ 0gleichzeitig gedrückt werden, was passiert, wenn eine der Tasten ganz kurz vor der anderen Taste gedrückt wird? Das ist nicht gleichzeitig und daher wird Ihre Eingabe (sozusagen) vermasselt.
  • Damit dies funktioniert, muss Karabiner (oder ein anderes Dienstprogramm) schlau genug sein, um dieses Rätsel zu lösen. Wie Thomas Tempelmann in seinem Kommentar unten erwähnt, wäre eine Möglichkeit, dies zu tun, eine Verzögerung nach dem Drücken von Tasten hinzuzufügen, damit die vorderste App die Taste noch nicht erkennt. Aber natürlich muss eine solche Verzögerung sehr kurz sein (vertrauen Sie mir – selbst eine Verzögerung von Sekundenbruchteilen bei etwas kann dazu führen, dass Benutzer das Gefühl haben, dass ein System nicht reagiert).

Sie können die Seite macOS Human Interface Guidelines – Keyboard Shortcuts für ein besseres Verständnis der diesbezüglichen Richtlinien von Apple für Entwickler lesen.

Nebenbei bemerkt, wenn Entwickler Spiele erstellen und eine Taste für einen bestimmten Zweck verwendet wird (z. B. die ZTaste bewegt den Charakter nach links), erkennt das Spiel die ZTaste immer noch als 'Z', wurde aber gerade so programmiert, dass es den 'Z'-Wert akzeptiert bedeutet, dass sich das Zeichen nach links bewegt.

Jede Software, die die Aktion eines Tastendrucks zu ändern scheint (z. B. Spiele, mit denen Sie Ihre Steuerung anpassen können, oder Dienstprogramme wie USB Overdrive, ControllerMate usw.), akzeptiert immer noch den Standardtastenwert, anstatt sie ändern zu müssen, und so Sie erfüllen ihre Funktion.

Beispielsweise kann ein Benutzer USB Overdrive verwenden, um eine Taste (sagen wir die TTaste) einer bestimmten Funktion mit oder ohne Zusatztasten zuzuordnen, aber wenn sie ohne Zusatztaste verwendet werden, werden sie immer noch als solche erkannt ihre ursprüngliche Eingabe. Ich glaube also nicht, dass sie für Sie nützlich sein werden, und natürlich sind sie nicht dafür ausgelegt, Tastaturkürzel per se zu erstellen. Sie können sie jedoch trotzdem ausprobieren (sie können sie kostenlos ausprobieren), nur für den Fall, dass Sie einen von ihnen dazu bringen können, das zu tun, was Sie wollen:

Anmerkungen:

  1. Ich habe sowohl USB Overdrive als auch ControllerMate verwendet, habe aber keinerlei Verbindung zu ihnen.
  2. Für das, was es wert ist, bietet ControllerMate erweiterte Funktionen (aber es ist schwieriger zu meistern).
  3. Vielleicht möchten Sie sich an den Karabiner-Support wenden oder dem Entwickler eine E-Mail senden, da ich immer noch denke, dass dies Ihre beste Wahl ist und möglicherweise in der Lage ist, das zu tun, was Sie wollen.
Als Entwickler finde ich Ihre Erklärung verwirrend. Wäre es nicht viel klarer zu sagen, dass die Verwendung von Tasten wie „0“ und „1“ als Modifikatoren ein Problem darstellt, da normalerweise, wenn Sie eine solche Taste drücken, sie sofort als getippte Taste an die Front-App weitergeleitet wird. Wenn Sie nun möchten, dass 0+1 einen anderen Schlüssel generiert, dann ist die Frage, was passieren soll, wenn Sie 0 etwas früher als 1 drücken. Wie soll es wissen, dass 1 bald folgen wird, und damit der Front-App NICHT mitteilen, dass 0 wurde gedrückt? Möchten Sie, dass alle Schlüssel die ganze Zeit verzögert werden, damit dies funktioniert? Wenn du damit umgehen kannst, könnte es funktionieren.
@ThomasTempelmann Du hast absolut recht, meine Erklärung war nicht ganz klar. Danke, dass Sie mich darauf aufmerksam gemacht haben. :) Normalerweise würde ich meine Antwort aktualisieren, aber da Klanomath anscheinend eine Erklärung dafür geliefert hat, wie das OP mit Karabiner tun kann, was es will, werde ich diese Antwort in Kürze löschen, da ich nicht glaube, dass sie wirklich einen Mehrwert bringt. Es sei denn, Sie meinen es anders?
@klanomath hat mich darüber informiert, wie ich in Karabiner erreichen kann, was ich will. Karabiner funktioniert perfekt für jede kunterbunte Kombination, die ich darauf geworfen habe, was großartig ist. Übrigens, der Grund, warum ich diese Fähigkeit haben wollte, ist meine Vorliebe für bequeme, einhändige Tastaturkürzel; Ich kann sie schneller und mit weniger Überlegung ausführen. Durch das Öffnen aller regulären Tasten wird die Anzahl der benachbarten oder fast benachbarten Tastenkombinationen, die ich zuweisen kann, dramatisch erweitert. Ich nehme Ihren Standpunkt zum Konzept der Modifikatortasten an - Verknüpfungen mit einer Modifikatortaste werden sicherlich bevorzugt.
@ThomasTempelmann Du sprichst wichtige Anliegen an. Solange sich mein Cursor nicht in einem Textfeld befindet, wenn ich eine Tastenkombination verwende (z. B. gleichzeitiges Drücken der A + D-Tasten oder der 1 + 0-Tasten), gibt es für meine Verwendung keine Nebenwirkungen. Wenn ja, muss ich vor der Ausführung einfach aus einem Textfeld herausklicken. Jetzt sind Verknüpfungen, die Tab oder die Leertaste beinhalten, problematischer. Aber ich habe nicht wirklich vor, irgendetwas davon zu implementieren; Sie dienten in meinem OP lediglich als Beispiele für die Art von Dingen, die ich tun wollte. Ich bleibe bei Buchstaben/Zahlen/Satztasten. Aber ja, Ihr zweiter Punkt ist sehr wahr.
@Monomeeth Bitte löschen Sie Ihre Antwort/Ihren Kommentar nicht.
@ThomasTempelmann Scheint, als hätten wir einen Konsens! Ich habe meine Antwort aktualisiert, um zu verdeutlichen, was ich sagen wollte. Nochmals vielen Dank, dass Sie mich darauf aufmerksam gemacht haben, dass es nicht klar war. Sie können meine Antwort auch gerne bearbeiten, wenn Sie sie verbessern können. :)
@klanomath Danke für dein Feedback. Ich habe beschlossen, meine Antwort nicht zu löschen und sie aktualisiert, um zu verdeutlichen, was ich sagen wollte. :)

iKey sollte tun, was Sie tun möchten.

Willkommen bei Ask Different! Wir versuchen, die besten Antworten zu finden, und diese Antworten liefern Informationen darüber, warum sie die besten sind. Erklären Sie, warum Sie denken, dass die Antwort, die Sie gegeben haben, das Problem lösen wird oder besser ist als andere da draußen. Die Bereitstellung von Links als unterstützende Informationen kann dem OP und anderen auch helfen, zusätzliche Informationen für sich selbst zu finden. Siehe Wie antworte ich , um eine qualitativ hochwertige Antwort zu geben.