Страница 1 из 1
Еще раз о клавиатуре\мыши
Добавлено: Вт дек 26, 2006 12:49 pm
Heathen
В очередной раз хочу поднять тему об автоматическом определении интерфейса клавиатуры\мыши. У одного из клиентов есть много терминалов (аппаратных). Периодически на них выходят из строя клавы\мыши. А эти самые клавы\мыши имеют различные интерфейсы - PS\2 и USB. Меняет их зав. хоз. Соответственно, если бы WTware сама умела определять, на какой порт ей повесили HID-устройства, было бы отлично.
Так делает Thinstation, и это ОЧЕНЬ удобно. Во-первых, пользователи сами могут менять клавы\мыши. Во-вторых, нет необходимости на каждый терминал прописывать отдельный конфигурационный файл, в котором будут лишь описание порта устройств ввода. Использовать систему станет значительно проще.
А теперь вопрос - будет ли это реализовано?
Добавлено: Вт дек 26, 2006 2:58 pm
aka
Чтобы найит USB-мышь надо запустить драйвера USB. Запускать драйвера USB без команды пользователя нарушает политику втвари "делать только то, что указал админ". Хорошая политика, позволяет увереннее запускаться на древнем железе.
Можно ввести такое правило: если памяти 64Мб и более, то считаем, что перед нами "новый" компьютер, у которого хороший порт USB и нет нужды экономить каждый байт памяти. И поэтому автоматом загружаем драйвера USB. Когда USB появится, определить - есть ли у нас USB мышь и клавиши - не должно составить труда.
Такое решение пойдет?
Добавлено: Ср дек 27, 2006 2:56 am
aka
Heathen, гениальная мысль!
Автоматически найти ps/2 или com мышь, а также определить наличие колеса в общем случае невозможно. Виндовсу обычно удается, но виндовс сколько людей пишут... Окончательное определение может происходить даже
после первого движения мыши... Втварь с ее зоопарком графических библиотек (каждая из которых имеет свой мышиный обработчик) такого себе позволить никак не может
А вот определить наличие USB мыши и USB клавиш очень просто, если решиться запустить драйвера USB порта.
В общем, в свете этой мысли в следующей бете будут изменения:
* на машинах с памятью >= 64Мб драйвер порта USB запускается сам.
* если найдена USB мышь - ее и используем, параметр в конфиге не читаем.
* если найдена USB клавиатура - ее и используем.
* Параметр mouse_wheel по дефолту имеет значение on. Давно пора.
Для администратора это будет означать, что:
* если у терминала >= 64 метра памяти и usb мышь с колесом, то ее само найдет.
* если у терминала >= 64 метра памяти и usb клавиатура, то ее само найдет.
* если у терминала ps/2 мышь с колесом, то ее само найдет.
А вот отклонения от этих вариантов (com-мыши, ps/2 и usb без колеса, usb на терминалах с <64Мб памяти) придется настраивать руками.
Ок?
Добавлено: Ср дек 27, 2006 7:30 am
Heathen
Да, алгоритм вполне рабочий! Правда, плюс к этому я бы добавил опцию, которая позволяет включать\отключать автоматическое определение интерфейса HID-устройства, что-то типа hid_auto_detect = on|off. Тогда эту опцию можно будет: а) описать в глобальном файле all.wtc, б) описать её в собственном конфигурационном файле терминала. Тогда если на отдельных железках описанный алгоритм даст сбой, админ всегда сможет для определенных устройств его отключить.
Добавлено: Вс янв 07, 2007 3:47 pm
aka
Ждем железки, на которых оно даст сбой.
Тут такое дело - драйвер клавиш надо поднимать до того, как мы прочитаем конфиг. Хотя бы для того, чтобы сработало "Press Del to enter Setup". И костыль, отключающий автоматическое определение, надо проводить через командную строку ядра. Это просто делать, но очень долго объяснять.
Добавлено: Вт янв 09, 2007 9:07 am
Heathen
aka писал(а):
Тут такое дело - драйвер клавиш надо поднимать до того, как мы прочитаем конфиг. Хотя бы для того, чтобы сработало "Press Del to enter Setup".
Тогда как быть с USB-клавиатурой и нажатием клавиши Del во время загрузки?
aka писал(а):
И костыль, отключающий автоматическое определение, надо проводить через командную строку ядра. Это просто делать, но очень долго объяснять.
Создать раздел в документации - "Описание параметров загрузчика", и поместить эти параметры в pxelinux.cfg (и в другие соответствующие загрузчику конфиги).

Добавлено: Вт янв 09, 2007 6:37 pm
aka
В общем эта, ждем железки, на которых оно даст сбой

В .16 оно сделано - само поднимает USB если памяти >=64Мб.