Форум программистов, компьютерный форум CyberForum.ru

Быстрая обработка клавиатуры как DirectInput - C++

Восстановить пароль Регистрация
 
mxs89
10 / 10 / 4
Регистрация: 13.04.2015
Сообщений: 140
Завершенные тесты: 1
26.08.2015, 20:37     Быстрая обработка клавиатуры как DirectInput #1
DirectInput предоставляет быструю обработку клавиатуры, одновременно можно нажать какое то количество кнопок, и т.п., как реализовать подобную работу с клавиатурой по средствам API?

Прочитал про RawInputDevice, отрабатывает аналогично WM_KEYDOWN, куда рыть?

Добавлено через 1 минуту
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
void WindowInput(LPARAM lParam)
{
    UINT Size = 0;
 
    if (GetRawInputData((HRAWINPUT) lParam, RID_INPUT, NULL, &Size, sizeof(RAWINPUTHEADER)) != 0)
        return;
 
    PRAWINPUT Data = new RAWINPUT[Size];
 
    if (GetRawInputData((HRAWINPUT) lParam, RID_INPUT, Data, &Size, sizeof(RAWINPUTHEADER)))
    {
        if (Data->header.dwType == RIM_TYPEKEYBOARD && Data->data.keyboard.Message == WM_KEYDOWN)
        {
            if (Data->data.keyboard.VKey == 87)
            {
                _Y += .1f;
            }
            if (Data->data.keyboard.VKey == 83)
            {
                _Y -= .1f;
            }
        }
    }
 
    delete [] Data;
}
Добавлено через 56 секунд
данная функция вызывается в WndProc WM_INPUT
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.08.2015, 20:37     Быстрая обработка клавиатуры как DirectInput
Посмотрите здесь:

обработка клавиатуры C++
C++ Как ввести двумерный массив с клавиатуры? Его размерность [n][m] нужно задавать с клавиатуры.
C++ Коды клавиш и обработка событий клавиатуры в консоли
Тетрис - Реализация таймера и обработка событий с клавиатуры C++
C++ Быстрая Сортировка quick-sort (ошибка в 40 строке) как исправить?
C++ Обработка значения, введенного с клавиатуры
C++ Обработка символов с клавиатуры
Структуры. Обработка данных, введенных с клавиатуры C++

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
0x0152
31 / 31 / 8
Регистрация: 23.03.2015
Сообщений: 205
26.08.2015, 21:08     Быстрая обработка клавиатуры как DirectInput #2
GetAsyncKeyState();
mxs89
10 / 10 / 4
Регистрация: 13.04.2015
Сообщений: 140
Завершенные тесты: 1
26.08.2015, 21:31  [ТС]     Быстрая обработка клавиатуры как DirectInput #3
C++
1
2
3
4
5
6
7
8
9
BYTE Keys[256];
 
GetKeyboardState(Keys);
 
if ((Keys[38] >> 7) & 0xff)
    _Y += .1f;
 
if ((Keys[40] >> 7) & 0xff)
    _Y -= .1f;
Yandex
Объявления
26.08.2015, 21:31     Быстрая обработка клавиатуры как DirectInput
Ответ Создать тему
Опции темы

Текущее время: 03:49. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru