Как я могу направить ввод с двух клавиатур на два соответствующих терминала на одном компьютере?

Я хочу подключить два USB-клавиатуры к одному компьютеру (Linux). Затем я хочу открыть 2 консоли # 1 и # 2 и выполнить один процесс на каждом из них. Затем я хочу получить ввод с клавиатуры # 1 на консоли №1 и ввода с клавиатуры # 2 на консоли # 2, то есть каждая клавиатура подает вход в конкретный процесс. Как это можно достичь? Предположим, что код написан на C. Спасибо!

  • Обнаружение плохого USB-кабеля
  • Опция «USB HDD», замененная на «ubuntu» в BIOS, теперь не может использовать USB-носитель
  • Установка Debian на USB
  • Проблема с установкой Debian с USB-накопителем
  • Загрузка с установочного диска, отсутствие USB-клавиатуры
  • Linux HID-драйвер для клавиатуры, отправляющий 1 дополнительный байт
  • USB для виртуальной машины XenServer 6.2
  • Нормально ли, что перезагрузка требуется для установки USB после обновления ядра?
  • One Solution collect form web for “Как я могу направить ввод с двух клавиатур на два соответствующих терминала на одном компьютере?”

    Чтобы программа считывала ввод с определенной клавиатуры, вы можете заставить ее считывать необработанные события с правильного устройства ввода. Устройства ввода (с типичной настройкой udev) /dev/event[0-9]* , и вы можете узнать, какой из них вы используете через /dev/input/by-id/*-kbd и /dev/input/by-path/*-kbd . Посмотрите by-id чтобы он соответствовал устройству по его идентификации (поставщику и серийному номеру) или by-path чтобы соответствовать ему через порт USB, в который он подключен.

    Вы можете настроить параметры udev, которые генерируют имена в /dev/*/by-*/ . Вы можете найти информацию, которую udev имеет в своем распоряжении, запустив udevadm info -a -n /dev/input/event42 (вы также можете сказать udev использовать вывод из какой-либо другой программы, если у вас есть программа, которая сообщает больше информации о Устройство). Если у вас возникли проблемы с разграничением между двумя клавиатурами, посмотрите на udevadm info для отличительных характеристик. Вы также можете запустить udevadm test /class/input/event42 чтобы узнать, какие правила udev в настоящее время применяет.

    Linux и Unix - лучшая ОС в мире.