Имя пользователя:
Пароль:
 

Название темы: Keyboard
Показать сообщение отдельно

Пользователь


Сообщения: 113
Благодарности: 0

Профиль | Отправить PM | Цитировать


Пищит при таком сочетании только в текстовом поле. Если фокус установить в другое место - не пищит. Возьму смелость предположить, что клавиатура пищит тогда, когда возникает эмуляция "зависания", то есть: если комбинация клавиш совершенно ни к чему не приводит ("влево"+"вверх"+пробел - курсор текстового поля остаётся на месте и никуда не девается, ни вправо, ни влево, ни вверх), обработчик (или ОС?) это фиксирует и генерируется звуковой сигнал, мол, "отпусти клавиатуру, всё равно ничего не произойдёт, только буфер зря переполняешь". Теоретически возможно создать программный обработчик прерываний на уровне ядра системы, своего рода фильтр подобных действий, но без последствий в виде писка. DirectInput работает аналогичным образом, но:
1. Не во всех игрушках
2. В среде ОС не работает или работает как-то не так - я пробовал и на DirectX 7 и на DirectX 8 - пищит, когда комбинация клавиш ни к чему не приводит (я писал об этом чуть выше). Может, драйвера для клавиатуры посмотреть? А вообще, наверное, всё это огрехи WinAPI... Кто-нибудь что-нибудь подскажет по этому поводу?

-------
Боже, избавь меня от ламеров, а с хакерами я сам управлюсь!
Пишите мне сюда.


Отправлено: 13:55, 26-11-2003 | #11

Название темы: Keyboard