· Начало · Статистика · WASM.RU · Noir.Ru ·

 WASM Phorum (Оффлайн - 24.11.2003) —› WASM.ASSEMBLER —› Драйвер клавы

. 1 . 2 . >>

Посл.отвђт Сообщенiе


Дата: Окт 9, 2003 05:05:55 · Поправил: comrade

На моей клавиатуре (Genius KB-06x) Тайваньского производства управления Power/Sleep/Wake находятса прям поверх стрелок. Уже несколько раз я так комп вырубал. Хотелось бы это убрать, но Genius пишет что для данной модели клавиатуры они таких специальных драйверов не предлагают (сам лично им емыло писал). Вообще клава маленькая, нравитса кроме плохого расположения этих трёх дьявольских кнопочек.

[url=http://support.microsoft.com/default.aspx?scid=kb;en-us;302092&Product=win2000
]http://support.microsoft.com/default.aspx?scid=kb;en-us;302092&Product=win2000
[/url]

Bill пишет что можно типа их убрать этим keyboard filter драйвером. На sysinternals.com есть даже исходник keyboard filter драйвера (ctrl2cap). Вообще не разу не писал, не знаю как пойти насшет этого дела.

Что делать, братва?


Дата: Окт 9, 2003 05:13:06

А обычный драйвер установить? Помнится, у меня со старым HP была супер-клава с уймой всяких кнопочек для управления звуком, интернетом и прочими абсолютно бесполезными функциями. Потом я случайно стёр драйвер этой клавы и поставил обычный (вернее, его сама винда установила) и все дополнительные функции сразу пропали.


Дата: Окт 9, 2003 05:37:22

Кажеца через Scan Code Mapper можно убрать.

http://support.microsoft.com/default.aspx?scid=kb;en-us;181348&Product=win2000

http://www.microsoft.com/whdc/hwdev/tech/input/w2kscan-map.mspx

Но хотелось бы чтоб например эти кнопочки работали при нажатие Ctrl+Alt


Дата: Окт 9, 2003 13:17:27

comrade
В некоторых биосах есть возможность отключения этих кнопок. Может пока не написан драйвер там их отключить?


Дата: Окт 9, 2003 14:24:15

А может разобрать клавиатуру и отключить эти кнопки "аппаратно"?


Дата: Окт 9, 2003 16:02:38

ssx
Мой знакомый так и сделал. Вырвал их с корнем, а дырочки аккуратно залепил. :)


Дата: Окт 28, 2003 04:26:54 · Поправил: Безпощадный даос

Изменил Ctrl2cap от sysinternals, но не сработало:

if (KeyData[i].MakeCode == 0x5EE0) KeyData[i].MakeCode = 0;
if (KeyData[i].MakeCode == 0x37E0) KeyData[i].MakeCode = 0;
if (KeyData[i].MakeCode == 0x5FE0) KeyData[i].MakeCode = 0;
if (KeyData[i].MakeCode == 0x3FE0) KeyData[i].MakeCode = 0;
if (KeyData[i].MakeCode == 0x63E0) KeyData[i].MakeCode = 0;

bswap коды пробовал, так же не сработало
что делать?!?!?!?! НАДОЕЛИ КНОПКИ


Дата: Окт 28, 2003 21:13:47

А подложить кусочки бумаги на контактные площадки? Что б не замыкались?

Самый радикальный/легкий/простой способ :)


Дата: Окт 29, 2003 06:52:00

Это не интересно :)


Дата: Окт 29, 2003 08:00:57 · Поправил: comrade

Поменял q на w, и w на q. Оказываетса моя клавиатура использует устаревший Set 1 scancodes. Из этого же сэта попробовал power/sleep/wake коды, но опять же не сработало. Возможно что NT5 видет их до ctrl2cap фильтер-драйвера?


Дата: Окт 30, 2003 00:44:47

Час попробую отключить клаву вообще


Дата: Окт 30, 2003 00:54:19

Отключил клаву:
KeyData[i].MakeCode = 0;


Ни какая клавиша не работала - кроме power/sleep/wake!!! Они сволочи всё еще работали!!!! Как же так, sysinternals говорит что ctrl2cap видит клавишу до того как Windows, и всё таки я сделал так чтоб ни какая клавиша не работала. КАК ЖЕ POWER/SLEEP/WAKE всё ещё работают??!! Пожалуста, помогите!


Дата: Окт 30, 2003 01:36:21 · Поправил: comrade

Mark Russinovich (автор ctrl2caps) пишет:
Those buttons don't generate keystrokes - they
cause other interrupts - so you cannot catch them with
ctrl2cap. You should go into the power management options
in Windows and disable them.


:( :(


Дата: Окт 30, 2003 05:38:56

Ещё пишет:

On Win2K Ctrl2cap is a WDM filter driver that layers in the keyboard class device's stack above the keyboard class device. This is in contrast to the Win2K DDK's kbfiltr example that layers itself between the i8042 port device and the keyboard class device. I chose to layer on top of the keyboard class device for several reasons


Значит пробуем kbfiltr is DDK. Добавил вот это в kbfiltr.c!KbFilter_ServiceCallback:
PKEYBOARD_INPUT_DATA inkey;

for(inkey=InputDataStart; inkey<InputDataEnd; inkey++){
    if (inkey->MakeCode = 0x10) inkey->MakeCode = 0;
}


0x10 это клавиша "Q" (Й). При добавление этого кода вообще никакая клавиша не работает. Но power/sleep/wake работают. В чём проблема?
Где ещё можно спросить на эту тему, где мне могут дать советы и ответы?


Дата: Окт 30, 2003 06:34:36

Ну я лох :) Присмотритесь в if... Короче всё равно у меня безудачливо

. 1 . 2 . >>


Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.087