Ist es möglich, verschiedene Tastaturen für verschiedene Anwendungen zu verwenden?


9

Was ich möchte, ist Folgendes:

Ich hätte zwei Tastaturen. Einer von ihnen ist mit Matlab "verbunden", der andere ist mit meinem Texteditor Ihrer Wahl "verbunden". Auf diese Weise konnte ich ein Skript bearbeiten und dennoch einige Befehle in Matlab testen, ohne ständig zwischen den Anwendungen wechseln zu müssen.

Grundsätzlich möchte ich eine zusätzliche Tastatur an meinen Computer anschließen, die ausschließlich Matlab steuert. Das wäre super!

Gibt es eine Möglichkeit, dies zu tun? Am liebsten mit OSX, aber es würde auch unter Windows oder Linux Spaß machen.


1
interessante Frage. definitiv nicht das, was in unseren aktuellen "Multitasking" -Betriebssystemen vorgesehen ist, aber ich weiß nicht, dass dies bedeutet, dass es nicht machbar ist. persönlich vermute ich, dass es machbar ist, aber nicht schön sein wird.
Quacksalber Quijote

Das Gleiche gilt für "wird nicht schön sein". Tastaturen und Mäuse werden nicht sichtbar / öffentlich "identifiziert" wie Festplatten oder Drucker. sie "sind" einfach.
JMD

1
Unter Unix ist dies möglicherweise nicht möglich - zumindest nicht so: stackoverflow.com/questions/285716/…
Jason R. Coombs

3
Bei der Suche nach einer Antwort habe ich festgestellt, dass die Suche nach "Trap Barcode" eine gute Suche ist - da viele Barcodeleser (insbesondere der Keiltyp) nicht von Tastaturen zu unterscheiden sind ... und viele Benutzer diese Eingabe an eine bestimmte Adresse weiterleiten möchten Anwendung.
Jason R. Coombs

Antworten:


5

Wenn Sie ein Systemprogrammierer sind, sollte es für Sie einfach sein, diese Funktionalität zu erhalten. Schritte mit dem AutoHotKey-Skript für Windows:

  1. Erstellen Sie ein AutoHotKey-Skript, das Tastenanschläge auf verschiedenen Tastaturen erkennen kann.
  2. Rufen Sie dann mit dem Windows-Handle die winID für beide Programme ab
  3. Ordnen Sie verschiedene Tastaturen verschiedenen WinIDs zu

Ich hatte die ähnliche Funktion zur Steuerung meines Musik-Players ausgeführt, auch wenn mein aktives Fenster VS-2010 / MatLab / oder ein anderes Fenster war.


Ich bin neu bei AutoHotKey. Können Sie bitte Ihr Skript teilen?
Shitikanth

3

Ich weiß nicht, ob Sie dies nativ tun können. Ich habe das noch nie gesehen, aber ich würde diese Funktionalität gerne haben.

Eine hackige Lösung besteht darin, etwas wie VMWare zu verwenden und Matlab in der virtuellen Maschine auszuführen und die zweite Tastatur mit der virtuellen Maschine zu "verbinden". Es ist weniger als elegant, sollte aber funktionieren.


Das wollte ich vorschlagen.
Roy Rico

Außerdem wäre es wahrscheinlich etwas schmerzhaft, sie im selben Verzeichnis arbeiten zu lassen. Vielleicht mit einer Netzwerkfreigabe über das virtuelle Netzwerk
Bastibe

1

Es sieht so aus, als wäre TeamPlayer ein Produkt für Windows, das genau das tut, wonach Sie suchen.


Ich frage mich, ob TeamPlayer die Fokusumschaltung unterstützt, die erforderlich ist, damit meine Vision funktioniert. Jede Maus / Tastatur benötigt einen eigenen Fokus oder alle Eingaben werden in das aktuell aktive Fenster umgeleitet.
Bastibe

1

Wenn Sie über mehrere Monitore verfügen, können Sie für jeden Monitor unter Linux unterschiedliche X-Server ausführen und die von jedem Server verwendeten Tastatur- / Mausgeräte manuell angeben. Auf diese Weise können Sie sich zweimal anmelden, matlab auf einem Bildschirm und Ihren Editor auf dem anderen laden und für jeden Bildschirm eine separate Maus / Tastatur verwenden.


1

Der einfachste Weg, dies zu tun, wäre, einen Computer für den Texteditor und einen anderen Computer für das Matlab zu haben. Das Wechseln zwischen Tastaturen ist jedoch möglicherweise aufwändiger als das Wechseln zwischen Fenstern mit der Maus. Oder Sie können jederzeit die Alt-Tab-Funktion in Windows verwenden, mit der Sie viel schneller zwischen Windows wechseln können.

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.