Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2009.09.27;
Скачать: CL | DM;

Вниз

Нет эффекта от переключения раскладки   Найти похожие ветки 

 
Трин   (2008-07-15 12:56) [0]

Здравствуйте, Мастера!

Пишу игрушку, но появились траблы при обработке нажатий клавиш.
Управление типа WASD, поэтому проверку нажатий осуществляю функцией:

procedure iskeydown(c: Char): boolean;
var
 vk: integer;
begin
 vk := VkKeyScan(c) and $FF;
 if vk <> $FF then
   Result := (GetAsyncKeyState(vk)<0)
 else Result := False;
end;


В действии это выглядит так:

if iskeydown("w") then Player.Go(dForward);


Но по-умолчанию у многих стоит раскладка, являющаяся стандартной для проживающей страны (Русская, Украинская, Итальянская, пр...).
Чтобы избавиться от этого я в Form.Create добавил:

LoadKeyboardLayout("00000409", KLF_ACTIVATE);


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


 
Трин   (2008-07-15 12:57) [1]

Использую TurboDelphi под WindowsXP


 
KilkennyCat ©   (2008-07-15 13:10) [2]

использовать конструкцию case
использовать коды клавиш


 
Johnmen ©   (2008-07-15 13:43) [3]

Обработка клавиш в играх никаким боком не связана с раскладками и прочими локальными явлениями.
Обрабатываются скан-коды клавиш. Они абсолютны :)
Обрати внимание на WM_KEYDOWN, читай здесь
http://www.delphikingdom.com/asp/viewitem.asp?catalogid=169


 
Трин   (2008-07-17 14:10) [4]

сянкс, думаю тему можно закрывать



Страницы: 1 вся ветка

Текущий архив: 2009.09.27;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.011 c
15-1248773497
Someone
2009-07-28 13:31
2009.09.27
Как записать комманду в реестре, для передачи имени проге


3-1227710340
DSKalugin
2008-11-26 17:39
2009.09.27
как этот FB триггер перевести на MS SQL


2-1248157687
abun
2009-07-21 10:28
2009.09.27
Проблема с отладкой


4-1217409567
leonidus
2008-07-30 13:19
2009.09.27
Корректно ли так устанавливать глобальный хук на клавиатуру?


3-1227637609
Morpheus
2008-11-25 21:26
2009.09.27
Копирование таблицы с SQL-сервера в .dbf