Jump to content

Как отделить USB клаву от PS/2


USSR_Nic

Recommended Posts

Извините, ежели тему уже обсасывали, но может кто ответит по быстрому, а то модем медленный, все перекопать не смогу. Купил тут по случаю клаву USB Диалоговскую, а Локон ее не видит как отдельное устройство. Просто дублирует нажатия с PS/2 и все тут. Несмотря на то, что в системе эта клава определяется как отдельное устройство <HID Keyboard device>. Че делать-то, а?

Выпитая водка не влияет на ТТХ истребителей!!!

Слава ЕД!!! У меня есть АФМ к Су-33!!!!!!

Link to comment
Share on other sites

Чего-то я не уверен, что у тебя что-то получится, устройство ввода аля клавиатура инициализируется через DirectInput и я не думаю, что ребята из ЕД проверяют количество установленых в системе клав, если такое вообще возможно :) Ты представь винду с двумя мышками :)

DimAss Coljo Yappo

Link to comment
Share on other sites

Именно, даже если подключить десять клав, работать они будут одинаково, и Набор клавиш будет один, дублированный десять раз. Такова се ля ви. :) Что-то поменять могут не ЕД, а дядя Билли. :)

Коричневые очки никогда не поранят мозг. Они небьющиеся.

Brown-coloured spectacles will never harm a brain. They are unbreakable. (с) Me

сфсвсг

I'm the future of the Russian government.

According to Scott Lofgren,

Bentley Systems global director.

Link to comment
Share on other sites

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

Выпитая водка не влияет на ТТХ истребителей!!!

Слава ЕД!!! У меня есть АФМ к Су-33!!!!!!

Link to comment
Share on other sites

Кто-нить умеет драйвера писать? А то Ка-50 на подходе, придется одновременно по 5 кнопок жать. По мне так лучше 5 USB клав купить. Чиж, отзовись! (Может в ED умеют драйвера писать?)

Выпитая водка не влияет на ТТХ истребителей!!!

Слава ЕД!!! У меня есть АФМ к Су-33!!!!!!

Link to comment
Share on other sites

А зачем по 5 кнопок? Кабина ж кликабельная будет.

Коричневые очки никогда не поранят мозг. Они небьющиеся.

Brown-coloured spectacles will never harm a brain. They are unbreakable. (с) Me

сфсвсг

I'm the future of the Russian government.

According to Scott Lofgren,

Bentley Systems global director.

Link to comment
Share on other sites

Угу. Вот сидишь ты в этой самой кликабельной кабине. На тебя нападает пара Ф-16, а у тебя задача умереть, но дом ныжный убить. И вот свершилось, дом загорелся, теперь надо гадюг придушить, а значит как минимум переключить оружие, одновременно вертя головой в поисках гадюк. Интересно и как ты собираешься кликнуть по выключателю мышкой, вертя одновременно головой а?

Выпитая водка не влияет на ТТХ истребителей!!!

Слава ЕД!!! У меня есть АФМ к Су-33!!!!!!

Link to comment
Share on other sites

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

Выпитая водка не влияет на ТТХ истребителей!!!

Слава ЕД!!! У меня есть АФМ к Су-33!!!!!!

Link to comment
Share on other sites

Угу. Вот сидишь ты в этой самой кликабельной кабине. На тебя нападает пара Ф-16, а у тебя задача умереть, но дом ныжный убить. И вот свершилось, дом загорелся, теперь надо гадюг придушить, а значит как минимум переключить оружие, одновременно вертя головой в поисках гадюк. Интересно и как ты собираешься кликнуть по выключателю мышкой, вертя одновременно головой а?

Очень просто: я драпану от них к чертовой бабушке куда-нибудь за высокий дом или за складку местности или на опушку леса. А гадюками пусть профильная организация занимается, истребители то бишь. :)

А уже будучи в более-менее безопасном месте я переключу оружие и, если у меня будет такая возможность, пульну вихрем по пролетевшей мимо гадюке. (УР ВВ вроде как на вертолете не предвидится). А пытаться внаглую с открытой позиции увалить пару Ф-16 вихрем, это надо быть очень смелым и опытным. :)

Коричневые очки никогда не поранят мозг. Они небьющиеся.

Brown-coloured spectacles will never harm a brain. They are unbreakable. (с) Me

сфсвсг

I'm the future of the Russian government.

According to Scott Lofgren,

Bentley Systems global director.

Link to comment
Share on other sites

Это конечно хорошо, но все-же мне кожется, что лучше просто на кнопку клавы нажать. Быстрее, и точнее. При дифиците времени никто никогда кликабельную кабину не использует, если есть альтернатива. Это просто приятный бонус от разработчиков. ИМХО.

Выпитая водка не влияет на ТТХ истребителей!!!

Слава ЕД!!! У меня есть АФМ к Су-33!!!!!!

Link to comment
Share on other sites

Именно, даже если подключить десять клав, работать они будут одинаково, и Набор клавиш будет один, дублированный десять раз. Такова се ля ви. :) Что-то поменять могут не ЕД, а дядя Билли. :)

 

Я в DirectInpute не копался, но там есть вроде такая фишка ка перечисление устройств, благодаря которой можно наверное и разные клавы подцепить, а винда работает не через DirectX :)

Клава для DirectInput такое же устройство ввода как и джойстик, так ша...

 

ВСЕ ВЫСКАЗАНОЕ ВСЕГО ЛИШЬ ПРЕДПОЛОЖЕНИЯ...

DimAss Coljo Yappo

Link to comment
Share on other sites

Это конечно хорошо, но все-же мне кожется, что лучше просто на кнопку клавы нажать. Быстрее, и точнее. При дифиците времени никто никогда кликабельную кабину не использует, если есть альтернатива. Это просто приятный бонус от разработчиков. ИМХО.

 

Ну народ прям очнулся, а то все прям от этой фишки фанатели, кликабельная кабина - глупость!

DimAss Coljo Yappo

Link to comment
Share on other sites

Ну, вообще-то, конечно, DirectInput, отличает подключенные к системе устройства, но вот обрабатывать нажатие клавиш по-разному с 2-х клавиатур, ИМХО, не получится. Вот скрин с dxdiag, подключено 2 USB-клавиатуры, выводятся они в списке устройств PS/2. Код устройства них тоже один и тот же.

direct_input.jpg.434838094d90266b9e3a38a471b3b72e.jpg

Link to comment
Share on other sites

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

для того чтобы это поменять, нужно писать низкоуровневый USB драйвер клавы и обмениваться с ним соощениями по собственному протоколу. вообщем никто с этим заморачиваться не будет.

но есть простой выход - покупается 3-4 клавы и на одной зажимаются ALT, на другой - CTRL, и т.д. тогда их всех можно расположить вокруг и все нажатия кнопок будут разными, и их (комбинации клавиш) можно будет прописать в LO стандартным способом.

"There are five dangerous faults which may affect a general: recklessness, which leads to destruction; cowardice, which leads to capture; a hasty temper, which can be provoked by insults; a delicacy of honor which is sensitive to shame; over-solicitude for his men, which exposes him to worry and trouble." Sun Tzu

[sigpic]http://forums.eagle.ru/signaturepics/sigpic2354_5.gif[/sigpic]

Link to comment
Share on other sites

Ну, вообще-то, конечно, DirectInput, отличает подключенные к системе устройства, но вот обрабатывать нажатие клавиш по-разному с 2-х клавиатур, ИМХО, не получится. Вот скрин с dxdiag, подключено 2 USB-клавиатуры, выводятся они в списке устройств PS/2. Код устройства них тоже один и тот же.

 

Вообще-то там разные там коды устройств, см. в дереве...

DimAss Coljo Yappo

Link to comment
Share on other sites

Syntax

HRESULT CreateDevice(          REFGUID rguid,
   LPDIRECTINPUTDEVICE *lplpDirectInputDevice,
   LPUNKNOWN pUnkOuter
);
Parameters

rguid
Reference to (C++) or address of (C) the instance GUID for the desired input device (see Remarks). The GUID is retrieved through the IDirectInput8::EnumDevices method, or it can be one of the predefined GUIDs listed below. For the following GUID values to be valid, your application must define INITGUID before all other preprocessor directives at the beginning of the source file, or link to Dxguid.lib. 
GUID_SysKeyboard
The default system keyboard. 
GUID_SysMouse
The default system mouse. 
lplpDirectInputDevice
Address of a variable to receive the IDirectInputDevice8 interface pointer if successful. 
pUnkOuter
Address of the controlling object's IUnknown interface for Component Object Model (COM) aggregation, or NULL if the interface is not aggregated. Most calling applications pass NULL. 
Return Value

 

Вот если бы при создании устройства был передан не "GUID_SysKeyboard",

а идентификатор устройства, то возможно было бы и лучше ;), та же технология, что и с джойстиками, а ЛО как известно может работать сразу с несколькими джоями...

DimAss Coljo Yappo

Link to comment
Share on other sites

Довесок:

 

IDirectInput8::EnumDevices Method

--------------------------------------------------------------------------------


Enumerates available devices.


Syntax

HRESULT EnumDevices(          DWORD dwDevType,
   LPDIENUMDEVICESCALLBACK lpCallback,
   LPVOID pvRef,
   DWORD dwFlags
);
Parameters

dwDevType
Device type filter. 
To restrict the enumeration to a particular type of device, set this parameter to a DI8DEVTYPE_* value. See DIDEVICEINSTANCE. 

To enumerate a class of devices, use one of the following values. 

DI8DEVCLASS_ALL
All devices. 
DI8DEVCLASS_DEVICE
All devices that do not fall into another class. 
DI8DEVCLASS_GAMECTRL
All game controllers. 
DI8DEVCLASS_KEYBOARD
All keyboards. Equivalent to DI8DEVTYPE_KEYBOARD. 
DI8DEVCLASS_POINTER
All devices of type DI8DEVTYPE_MOUSE and DI8DEVTYPE_SCREENPOINTER. 
lpCallback
Address of a callback function to be called once for each device enumerated. See DIEnumDevicesCallback. 
pvRef
Application-defined 32-bit value to be passed to the enumeration callback each time it is called. 
dwFlags
Flag value that specifies the scope of the enumeration. This parameter can be one or more of the following values: 
DIEDFL_ALLDEVICES
All installed devices are enumerated. This is the default behavior. 
DIEDFL_ATTACHEDONLY
Only attached and installed devices. 
DIEDFL_FORCEFEEDBACK
Only devices that support force feedback. 
DIEDFL_INCLUDEALIASES
Include devices that are aliases for other devices. 
DIEDFL_INCLUDEHIDDEN
Include hidden devices. For more information about hidden devices, see DIDEVCAPS. 
DIEDFL_INCLUDEPHANTOMS
Include phantom (placeholder) devices. 

DimAss Coljo Yappo

Link to comment
Share on other sites

Там коды производителя и продукта разные, а код устройства DI hid_device_system_keyboard, соответственно, клавы для DI и не отличаются, как я понимаю. Ты же то же самое, вроде, сам написал :)

Link to comment
Share on other sites

идентификатор устройства обычно нечитаемое сочитание букв и цифер, то что выводит утилитка вообще не понятно, она вообще увидела две одинаковых клавы и еще одну :)

DimAss Coljo Yappo

Link to comment
Share on other sites

но есть простой выход - покупается 3-4 клавы и на одной зажимаются ALT, на другой - CTRL, и т.д. тогда их всех можно расположить вокруг и все нажатия кнопок будут разными, и их (комбинации клавиш) можно будет прописать в LO стандартным способом.

 

С этого места поподробнее.

Если на одной навсегда зажать алт, на другой стрл, то при нажатии на третьей клаве разве не выйдет код стрл+алт+код клавиши?

Если да, то в чем выход?

Выпитая водка не влияет на ТТХ истребителей!!!

Слава ЕД!!! У меня есть АФМ к Су-33!!!!!!

Link to comment
Share on other sites

Ну народ прям очнулся, а то все прям от этой фишки фанатели, кликабельная кабина - глупость!

Кликабельная кабина не совсем глупость. Отрабатывать на ней подготовку самолета к вылету приятно. А потом, после удачной посадки, выключить опять-же все можно было. Это есть знакомство с настоящим самолетом.

ЗЫ: Захочешь угнать когда-нить самоль, сел, а там все знакомо!

!

Выпитая водка не влияет на ТТХ истребителей!!!

Слава ЕД!!! У меня есть АФМ к Су-33!!!!!!

Link to comment
Share on other sites

С этого места поподробнее.

Если на одной навсегда зажать алт, на другой стрл, то при нажатии на третьей клаве разве не выйдет код стрл+алт+код клавиши?

Если да, то в чем выход?

хм, это вопрос... да, видно мой способ не сработает, LO воспринимает нажатия модификаторов отдельно и запоминает состояния у себя... а значит если на одной клаве постоянно нажат к примеру ALT, то в LO это все принимаевые клавиши будут обрабатываться как с нажатым альтом...

другой способ - можно попытаться найти драйвер виртуального джойстика, который бы умел мэппить кнопки конкретной клавы...

"There are five dangerous faults which may affect a general: recklessness, which leads to destruction; cowardice, which leads to capture; a hasty temper, which can be provoked by insults; a delicacy of honor which is sensitive to shame; over-solicitude for his men, which exposes him to worry and trouble." Sun Tzu

[sigpic]http://forums.eagle.ru/signaturepics/sigpic2354_5.gif[/sigpic]

Link to comment
Share on other sites

другой способ - можно попытаться найти драйвер виртуального джойстика, который бы умел мэппить кнопки конкретной клавы...

 

ВОТ!!!! И хде его взять-то? Ведь в этом основной вопрос и состоит!!! Люди!! АУ!!! Отзовитесь кто знает!

 

Шопотом: Чиж, родной, может ты знаешь, а? Могет у Вас в ED уже есть такой? Не поделитесь, ежели есть?

Выпитая водка не влияет на ТТХ истребителей!!!

Слава ЕД!!! У меня есть АФМ к Су-33!!!!!!

Link to comment
Share on other sites

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...