Можно ли использовать разные клавиатуры для разных приложений?

9

Что я хотел бы это:

У меня было бы две клавиатуры. Один из них «связан» с Matlab, другой «связан» с моим текстовым редактором по выбору. Таким образом, я мог бы отредактировать некоторый скрипт и все еще тестировать некоторые команды в Matlab без необходимости постоянно переключаться между приложениями.

По сути, я бы хотел подключить к компьютеру дополнительную клавиатуру, которая бы контролировала исключительно Matlab. Это было бы круто!

Есть какой-либо способ сделать это? Желательно с OSX, но было бы весело и на Windows или Linux.

бастибе
источник
1
интересный вопрос. определенно не то, что предусматривается в наших нынешних «многозадачных» операционных системах, но я не знаю, что это означает, что это невозможно. лично я подозреваю, что это выполнимо, но не будет симпатичным.
шарлатан-кихот
То же самое, "не будет красивым". Клавиатуры и мыши не видны "публично", как жесткие диски или принтеры; они просто "есть".
JMD
1
Это может быть невозможно в Unix - по крайней мере, так: stackoverflow.com/questions/285716/…
Джейсон Р. Кумбс
3
В поисках ответа я обнаружил, что поиск «штрих-кода ловушки» - это хороший поиск, потому что многие устройства считывания штрих-кода (особенно тип клина) неотличимы от клавиатуры ... и многие пользователи хотят направить этот ввод на определенный применение.
Джейсон Р. Кумбс

Ответы:

5

Если вы системный программист, вам будет легко получить эту функциональность. Действия с использованием скрипта AutoHotKey для Windows:

  1. Создайте скрипт AutoHotKey, который может обнаруживать нажатия клавиш на разных клавиатурах,
  2. Затем, используя дескриптор Windows, получите winID для обеих программ
  3. Сопоставить разные клавиатуры с разными WinID

Я сделал аналогичную функцию для управления моим музыкальным проигрывателем, даже если мое активное окно было VS-2010 / MatLab / или любым другим окном.

Сохаиб Афзал
источник
Я новичок в AutoHotKey. Можете ли вы поделиться своим сценарием, пожалуйста?
Шитикант
3

Я не знаю, можете ли вы сделать это изначально. Я никогда не видел этого, но я хотел бы иметь эту функциональность.

Одно из хакерских решений - использовать что-то вроде VMWare, запустить Matlab на виртуальной машине и «подключить» вторую клавиатуру к виртуальной машине. Это менее элегантно, но должно работать.

Джейсон Р. Кумбс
источник
это то, что я собирался предложить.
Рой Рико
Кроме того, было бы немного болезненно заставить их работать в одном каталоге. Возможно, используя сетевой ресурс через виртуальную сеть
Bastibe
1

Похоже, TeamPlayer может быть продуктом для Windows, который делает то, что вы ищете.

Джейсон Р. Кумбс
источник
Интересно, поддерживает ли TeamPlayer переключение фокуса, которое было бы необходимо для моего зрения? Каждая мышь / клавиатура должна иметь свой собственный фокус, или весь ввод будет перенаправлен в текущее активное окно.
Бастиб
1

Если у вас несколько мониторов, вы можете запускать разные X-серверы для каждого монитора в linux и вручную указывать устройства клавиатуры / мыши, которые использует каждый сервер. Это позволяет вам войти в систему дважды, загрузить Matlab на одном экране и ваш редактор на другом, и иметь отдельные мыши / клавиатуры для каждого.

Дарт Андроид
источник
1

Самый простой способ сделать это - иметь один компьютер для текстового редактора и другой компьютер для Matlab. Однако переключение между клавиатурами может оказаться более трудоемким, чем переключение между окнами с помощью мыши. Или вы всегда можете использовать функциональность alt-tab в Windows, которая позволит вам быстрее переключаться между окнами.

Брайан Т Ханнан
источник