Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.05.2013, 17:16   #1
mailvik
Новичок
Джуниор
 
Регистрация: 02.05.2013
Сообщений: 3
По умолчанию Виртуальную клавиатуру\мышь через usb сделать реальной

Суть задачи такова.

Возможно ли и на сколько сложно написать такое?

например:

Имеем Комп1 и 8 usb портов у него и реальные клаву\мышь.
Имеем Комп2 2 usb порта без клавы\мыши.

Нужно чтоб на Комп1 работало приложение которое программно эмитирует мышь и клавиатуру(или повторяет за реальной действия) и посылает на usb порты соответсвующие команды нажатия клавиш и движения мыши.

Комп2 не имеет реальных клавиатуры и мыши вместо них он соединен кабелем usb-usb с Комп1.(можно и двумя кабелями для мыши и клавы отдельно)
Комп2 должен воспринимать данное соединение как мышь и клавиатуру реальную. Т.е. система должна их определять и воспринимать приходящие команды.

У каждого компа свой монитор.

KVM-переключатель не предлагать это немного не то что нужно.
Ну или предлагать если ест такие чтоб можно было на мой рабочий комп(не просто монитор как в стандартной схеме KVM) подключить эту KVM к ней еще пару компов. И чтоб выводилось изображение с тех двух(пусть даже по очереди) в рабочее окно моей системы.
mailvik вне форума Ответить с цитированием
Старый 02.05.2013, 17:59   #2
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
них он соединен кабелем usb-usb
USB-Link? Значит между ними есть сеть. Поставьте приложение удаленного контроля (клиент-сервер).
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 02.05.2013, 18:31   #3
mailvik
Новичок
Джуниор
 
Регистрация: 02.05.2013
Сообщений: 3
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
USB-Link? Значит между ними есть сеть. Поставьте приложение удаленного контроля (клиент-сервер).
про этот путь я знаю.

но принципиально важно сделать такое решение как я описал.

чтоб комп2 воспринимал такое подключение как мышь и как клавиатуру, а не как сетевое подключение.

те комп1 должен быть программным аналогом реальных мыши и клавы.
mailvik вне форума Ответить с цитированием
Старый 02.05.2013, 19:16   #4
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

ПК и будет воспринимать такие действия через удаленный клиент-сервер как движения реальной мыши и клавиатуры.

Давайте выкладывайте полностью задачу, ибо вы недоговариваете.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation
raxp вне форума Ответить с цитированием
Старый 02.05.2013, 21:21   #5
mailvik
Новичок
Джуниор
 
Регистрация: 02.05.2013
Сообщений: 3
По умолчанию

Цитата:
Сообщение от raxp Посмотреть сообщение
ПК и будет воспринимать такие действия через удаленный клиент-сервер как движения реальной мыши и клавиатуры.

Давайте выкладывайте полностью задачу, ибо вы недоговариваете.
Так описал как смог такая и задача.

На компе 2 не должно быть никаких клиент серверов.

1) На Комп2 выдергиваем реальные мышь и клавиатуру.
2) Они соответсвенно исчезают из диспетчера устройств Комп2.
3) Втыкаем кабель usb1(Комп1) в usb1(Комп2) посылаем на него команды управления мышью(такиеже как еслиб посылала реальная аппаратная мышь)
4) Заходим в диспетчер устройств Комп2 видим там мышь.

Програмное управление Компом2 (клиент, сервер, тимвивер, виртуальная мышь на нем) не подходит нужно именно аппаратное(чтоб команды шли такиеже как от реальной мыши на соответсвующий порт).


Как пример на своем личном компе.
например ты можешь вызвать левый клик мыши командой или же реально кликнуть мышью(т.е. послать сигнал от мышки в порт куда она подключена). Вот второй вариант и нужно только чтоб эти сигналы на второй комп посылало не нажатие на реальную мышь, а соответсвующая команда в порт usb1(Комп2) .

Последний раз редактировалось mailvik; 02.05.2013 в 21:26.
mailvik вне форума Ответить с цитированием
Старый 03.05.2013, 00:23   #6
raxp
Старожил
 
Регистрация: 29.09.2009
Сообщений: 9,713
По умолчанию

Цитата:
На компе 2 не должно быть никаких клиент серверов.
увы, при организации связи без этого никак, будь-то сеть поверх USB-Link кабеля или виртуальный COM.

Вы знаете что такое USB-Link кабель? Это по сути два конвертора USB-UART, дабы хост каждого ПК думал, что к нему подключено подчиненное устройство. В самом этом кабеле UART (TX/RX) перекрещиваются. Схему на этом форуме уже выкладывал. Так к чему это? К тому, что при использовании такого кабеля возможны два типа связи:
1- с помощью драйверов USB-Link эмулируется TCP/IP сеть и машины в одной привычной всем сети
2- через виртуальные COM-порты

В этих обеих вариантах, будет клиент-сервер

Скажем сервер запускается на машине без клавиатуры-ноута и воспринимает то, что приходит с виртуального COM-порта (или по сети, будь-то на сокетах броадкаст UDP-ный или по TCP) и тупо эмулирует нажатия и движения мыши по присланным командам.

Клиент-же на управляющей машине считывает движения мыши и нажатия на клавиатуре и шлет их в COM-порт или в сеть броадкастом. Пакет обмена некий собственный, не важно.

Цитата:
Так описал как смог такая и задача.
к сожалению, вы не ответили на вопрос и не раскрыли зачем такое нужно. Дело в том, что тупое подключение USB-USB кабеля ничего не даст, для связи, именно связи нужен USB-Link кабель, в котором конверторы (описано выше).

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

Итого, физическая реализация видится следующей:
Цитата:
Управляющий ПК - клиент с хуком на клаву-мышь - UART - МК - USB.HID мышь.
Но ей богу, для чего такое может понадобится, вы решили спартизанить. А не видя проблемы в комплексе, помогать вам не очень то комильфо.

P.S.: есть максимально близкий к вашей задаче проект - это приемник ДУ, эмулирующий клавиатуру на ПК. По сути, если вместо ИК фотоприемника подать соответствующий сигнал (в пультах это RC5) со второго ПК (cкажем с IRDA-передатчика ...можно и без ИК, через UART/RS-232/USB, но потребуется переделка прошивки), то по сути будет эмулироваться именно физическая клавиатура. Проект этот разошелся тиражом по сети из журнала Радио, а автор наш форумчанин - Петр Высочанский ...впрочем, он не только на этом форуме, как и многие из нас ...гуглите.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation

Последний раз редактировалось raxp; 03.05.2013 в 00:32.
raxp вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
открыть виртуальную клавиатуру buriat Java Мобильная разработка (Android) 0 10.02.2012 01:10
USB мышь kiLLeR1-74 Компьютерное железо 1 12.10.2010 16:58
Мышь на USB показыаетсвой характер .Phoenix Компьютерное железо 5 12.08.2010 21:58
Не работает usb-мышь Sparky Операционные системы общие вопросы 1 29.11.2009 15:27
маска ввода через виртуальную клавиатуру Димка JavaScript, Ajax 3 09.03.2009 19:33