LINUX.ORG.RU

Использование компьютера в качестве клавиатуры.

 ,


0

1

Очень редко, бывает, нужна клавиатура (как отдельное устройство подключаемое по USB/PS2). Старые свои то растерял, то сломались. Поскольку под рукой всегда есть ноутбук то мне захотелось кабель-устройство, с двумя USB шнурами, которые я бы мог воткнуть в обе ЭВМ и один бы из них эмулировал клавиатуру.

PC <-- MagicDevice <-- Laptop
пишем в /dev/ttyUSB0 на Laptop и получаем ввод клавиатуры на PC.

Разве в природе такого нет, а то я нагуглить не могу?

★★★★★

Да вроде любая ардуина, вот к примеру https://github.com/zfortier/arduino_keyboard_emulator

PS. это для ардуин с нативным usb, для остальных адаптировать что-то вида https://github.com/GyverLibs/EasyHID

Flotsky ★★
()
Последнее исправление: Flotsky (всего исправлений: 1)

На хабре была статья про хранилку паролей, работающую в разрыве клавиатуры. Там, емнип, был STM32 и проблемы с одновременной работой в 2 режимах и качеством библиотек от ST.

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

Да, собрать то можно. Хотелось бы от китайцев, по цене две шавермы. :)

Хотя, если прошивка уже готова то можно попробовать, особо и паять ничего не нужно даже. Спасибо за ссылку.

urxvt ★★★★★
() автор топика

kde-connect вроде может такое организовать, и проводов не надо.

А так нужны два активных устройства, одно по юсб считывает показания клавиатуры на ноуте, второе их принимает и отправляет на ПК представляя себя как клавиатуру. Можно замутить в одном проводе на двух ATmega8 + V-USB =)

Если я смог придумать значит такое уже точно есть, типа USB-to-USB-чётотам. Идея интересная даже захотелось сделать…былбывремя :((( Но вот как гуглить подобное я понятия не имею.

LINUX-ORG-RU ★★★★★
()
Ответ на: комментарий от aol

Так это же для ситуаций когда нету одой клавиатуры, которую можно подключить к Synergy.
Я уже и не говорю, про то, что этот Synergy какой-то не одобренный rms backdoor cloud proprietary evil keylogger.

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

backdoor cloud proprietary evil keylogger.

капец. ну, иди собери сам. сырцы на гитхабе.

форки есть https://github.com/debauchee/barrier

тебе, в конце-концов, шашечки или ехать? если попердолиться с gadget mode в usb на ноуте, то не смеем мешать, ты только сразу скажи! :)

aol ★★★★★
()

Да ладно, что смеяться? В хермании даже после заоблачных повышений цен можно найти клавиши за 5-7 евро в розницу. Значит онлайн еще дешевле, а себестоимость максимум 2,5 евро. Могу спорить завтра пойдешь и возьмешь одну за бесценок

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

Да, вариант рабочий — Laptop -(usb)-> USB-to-UART -(uart)-> Pi -(usb)-> PC.
Но дешевле взять Arduino вместо одноплатника. Да и одноплатник грузится долго будет до рабочего состояния.

urxvt ★★★★★
() автор топика

Жалкое подобие PiKVM. :-)

суть токова: берётся ps2dev (в который свой вклад внёс лорчанин @liksys по причине использования оного в его PiKVM), заливается в абдурину, дальше - ебитес.

В моем случае я вынужден был использовать C#, потому что ведущая машина - на винде, так что по части захвата под линем ничего не подскажу. Абдурину запогроммировал самым дубовейшим образом - что получит на UART, то и отдает на PS/2. Нужные байтики формирует программа для захвата на ПК. В дальнейшем добавил чексуммы, поддержку двух выводов, всё это на STM32F103 (потому что нативный USB) с абдуринным рантаймом чтоб побыстрее в «продакшн» (на самом деле саахриктинские игрища, но тсс), сделал за пару вечеров.

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

что получит на UART, то и отдает на PS/2.

А перывания передачи со стороны хоста (компьютера) не обрабатываются? Там, если компьютер не захотел принимать байт, то клавиатура должна при разрешении передачи начать с начала, с первого байта в случае многобайтной передачи.

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

Пока что не сталкивался с проблемами из-за такого. Насколько я понял, в библиотеке ps2dev в «штатном» использовании - когда сканкоды формируются на абдурине, и теоретически можно бы повторить - она всё равно на 0xFE (resend) отвечает тупо ACK.

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

Пока что не сталкивался с проблемами из-за такого.

Ну хорошо, может сейчас такой ситуации и не возникает.

Мне просто не понятна ситуация, когда с одной стороны контроллеру (на хосте) идёт два байт (отпускание клавиши/break) от клавиатуры, а с другой стороны команда включить NumLock. Контроллер будет ждать, пока завершится передача байт от клавиатуры или сразу Data и Clock в ноль и отправляет команду 0xED (SET KEYBOARD INDICATORS)?

А чтобы ардуина, как это требуется, повторно передала все байты, составляющие единое логическое целое, она должна отслеживать текущий Scan codes set и понимать, что передаёт — однобайтное нажатие или двухбайтное отпускание или многобайтный Insert/PrintScreen. Много кода получается.

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

почему нет? она одна из первых поднимается же?

по крайней мере в Демьяне можно спокойно выдать ей по DHCP адрес.

Эйлер также делает кстати (Хуавейский извод красношапки-центоса)

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

почему нет? она одна из первых поднимается же?

Я имею ввиду аварийные ситуации, когда что-то не работает и нормально система не загружается. Когда нужно что-то починить, установить, переустановить и т. п. Так то понятно, что есть ssh и ни клавиатура ни монитор не нужны.

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

Забавная приблуда. Только как ее тогда с условным ноутом сопрягать?
Наиболее легким мне пока кажется вариант с Arduino (эмулирующей HID), к которой подключен UART-USB. В таком случае на любой машина это можно будет использовать подключившись с помощью minicom/screen.

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

Только как ее тогда с условным ноутом сопрягать?

По wifi, например. Запустить на ней программу слушающую какой-нибудь tcp-порт, и подключаться к нему netcat-ом с ноутбука. Можно даже запустить на этом устройстве web-сервер и показывать страничку с виртуальной клавиатурой.

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

проще тогда уж serial использовать! тем более можно старый prolific за копейки купить если под линукс

(под вендой с 10ки - только новые дрова и новые устройства)

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

не понял? зачем? usb2com жЫ! я же написал. prolific, ну или ftdi если эстет. usb-то есть хоть в буке? 8)

или речь про системник? ну заморочься разок, подключи планку комовскую. раз уж usb2com религия не позволяет использовать.

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

честно говоря, я не знаю как по-простому сделать если у тебя нет нормального ком-портав в компе, куда ты подключаешься. вот если он есть, то всё просто:

https://docs.kernel.org/admin-guide/serial-console.html

а на буке - usb2com и васякот!

PS: извиняюсь, забыл вот этот трюк показать:

https://mattray.github.io/2022/02/27/enabling-usb-serial-console.html

mumpster ★★★★★
()
Последнее исправление: mumpster (всего исправлений: 1)