LINUX.ORG.RU
ФорумTalks

Laptop keyboard to USB

 , , ,


0

1

Короче, есть такая хотелка. Есть ноут, клавиатура у которого мне очень нравится. Это ощущение сравнимо с тем, как любители механики находят для себя ТУ САМУЮ. В общем, были ли у кого-нибудь попытки переделать ноутбучную клавиатуру под USB (кроме Lenovo)? А то десктопные клавиатуры в большинстве своём либо кал, либо… механика. И уже не хочется искать для себя «ту самую», ведь «та самая» уже у меня была.

Я ни разу не разбирал ноутбучную клавиатуру, поэтому не представляю, что они из себя значат. У них есть свой контроллер, или всё идёт по шлейфу на откуп ноутбуку?

В принципе, это возможно: ноутбучная клавиатура должна подключаться к материнке шлейфом. Протокол там либо USB, либо PS/2 (но я бы не стал рассчитывать, что встройка будет поддерживать оба сразу). Остается только сообразить корпус и шнур.

Bagrov ★★★★★
()

Вне темы топика, но вполне близко: я никак не могу отлипнуть от Thinkpad-клавиатуры, так что использую полудохлый ноут как печатную машинку, которая передаёт нажатия клавиш и клитора с помощью Synergy/Barrier другим компьютерам в локалке.

Самый тупой и простой вариант, потому что потрошить кишки мне лень. Было бы лучше иметь какой-то более generic-способ, работающий на уровне libinput/evdev и не зависящий от графического сервера, конечно, но пока такого не нашлось.

commagray ★★★★★
()
Последнее исправление: commagray (всего исправлений: 1)
Ответ на: комментарий от Bagrov

Нет таких интерфейсов у самой клавиатуры. Голый шлейф на много линий, а всё логика на мультиконтроллере, который на материнке ноута впаян. А чем он системе прикидывается, уже не имеет значения.

qub
()
Ответ на: комментарий от qub

В общем и целом да, смотреть нужно на мультиконтроллер, какой у него протокол с клавиатурой, а дальше лепить переходник на микроконтроллере с реализацией USB HID

cobold ★★★★★
()
Ответ на: комментарий от cobold

Проще сесть на libevent debug events и воспроизводить их на целевой системе через ydotool. Это будет в разы проще чем колбаситься с железом

Nastishka ★★★★★
()
Ответ на: комментарий от Nastishka

На целевой системе? Идея вроде в том чтобы система была одна. Сам по себе модуль ноутбучной клавы подключается к МП ноутбука многоконтактным шлейфом, несовместимым напрямую ни с одним внешним интерфейсом ПК. Т.е. с железом так и так надо ковыряться. Но тут вон выше скинули уже готовый полуфабрикат

cobold ★★★★★
()
Ответ на: комментарий от cvs-255

Уже выше @qub объяснил. Получается, что тогда нужно еще и микроконтроллер закупить. Остается выяснить, какой подойдет топикстартеру.

Bagrov ★★★★★
()
Ответ на: комментарий от Nastishka

У такого способа есть существенный недостаток - без запущенного «драйвера» клавиатура не будет работать. А значит не получится ни в BIOS setup зайти, ни в загрузчике кнопки понажимать.

С железом всё равно придётся колбаситься, куда-то надо же шлейф от клавиатурной матрицы подключать. Если взять железку чуть подороже (например, Arduino на чипе ATmega32U2 вместо ATmega328), то туда уже без проблем влезет USB HID.

Вот пример кода для клавиатуры с одной кнопкой: https://github.com/NicoHood/HID/blob/master/examples/Keyboard/BootKeyboard/BootKeyboard.ino

kmeaw ★★★
()
Ответ на: комментарий от Bagrov

да хоть на атмеге можно спаять. там нет особой магии

cvs-255 ★★★★★
()
Последнее исправление: cvs-255 (всего исправлений: 1)
Ответ на: комментарий от cvs-255

Влезает, но придётся софтверно эмулировать USB: https://www.obdev.at/products/vusb/hidkeys.html

Мне кажется, лучше переплатить пару десятков центов за плату с MCU с аппаратным USB и готовым разъёмом, чем ковыряться с V-USB. Так можно будет сосредоточиться на самой задаче, и не тратить время на поиск проблем с USB.

kmeaw ★★★
()
Ответ на: комментарий от kmeaw

Зато тратить время на проблемы инициализации и работы аппаратного USB)

Как же я в свое время долго разбирался, почему в stm32f407 не работает встроенный ethernet….

cvs-255 ★★★★★
()
Последнее исправление: cvs-255 (всего исправлений: 1)
Ответ на: комментарий от kmeaw

Ну у ТС есть «ноутбук» в котором всё уже работает - и если оно уже работает - почему бы его и не задействовать? А точ что «в биосе не поковыряться» - так не так часто это и нужно (почти никогда)

Nastishka ★★★★★
()
Ответ на: комментарий от Nastishka

Вы предлагаете использовать целый ноутбук, чтобы запустить на нём что-то вроде evemu-record | nc -lp 12345, а на целевой машине nc laptop 12345 | evemu-play?

Да, наверное есть сценарии, когда это будет хорошим выбором. Например, чтобы просто попробовать, или если от ноутбука не жалко оторвать крышку, чтобы он удобно расположился на столе.

kmeaw ★★★
()
Ответ на: комментарий от commagray

Конкретно от Thinkpad вроде есть же отдельные клавиатуры под USB.

TheAnonymous ★★★★★
()

Плохая идея. Клавиатура это расходник. Сломается и будешь страдать. Лучше брать дешёвый ширпотрёб и привыкать к нему.

Legioner ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.