LabVIEW Portal - Перегляд теми - Значення коду клавіші (Virtual-Key Codes)

Значення коду клавіші (Virtual-Key Codes)

Значення коду клавіші (Virtual-Key Codes)

Forward 21 жовт 2009, 22:55

Кожній клавіші на клавіатурі (і мишці) відповідає певний віртуальний код (наприклад VKey_Space = 32 = 0x20), яким можна дізнатися від якої клавіші прийшла подія, щоб надалі її правильно обробити. Ось одна з таблиць із кодами клавіш, і як скрізь пишуть, ці коди на відміну від scan code незалежні від типу девайса та платформи (в даному випадку цікавлять різновиди вінди). Виправте, якщо я помиляюся. Далі, звернув увагу, що коди не відповідають кодам з цих таблиць. Тобто. якщо я в event структурі обробляю подію keydown і натискаю клавішу F2, то на виході VKey я отримую число 27 (а не 113) і саме 27 відповідає константі F2 в enum в . Власне питання, чому використовуються свої власні значення віртуальних кодів і чи взагалі так це?

Прийшов я до цього таким чином: робив одну просту аплікуху під WinCE 6.0 (Arm) за допомогою TouchPanel Module, де потрібно було обробляти деякі клавіші. Так ось там (на WinCe), клавіші F2 відповідить віртуальний код 113 (0х71) і всі інші клавіші чітко збігаються з наведеними в таблиці (як і повинно бути, хоча на XP все по-іншому). Але (!!), в цьому випадку я не можу вказати в кейс-структурі, що чекаю на події F2 бо цій події відповідає інший код (27, а не 113, який до мене приходить) і потрібно вбивати всі коди ручками. Не проблема звичайно, але це збочення. І плюс не можна скопіювати код на платформу XP і назад 1 до 1, що також дуже незручно. Загалом, хочу прояснити для себе це питання. Спасибі.

Re: Значення коду кнопки (Virtual-Key Codes)

Eugen Graf 21 жовт 2009,23:24

Re: Значення коду кнопки (Virtual-Key Codes)

Forward 21 жовт 2009, 23:32

Re: Значення коду кнопки (Virtual-Key Codes)

Eugen Graf 21, жов 2009, 23:38

Re: Значення коду кнопки (Virtual-Key Codes)

Forward 21 жовт 2009, 23:46

Re: Значення коду кнопки (Virtual-Key Codes)

Forward 22, жов 2009, 15:21

eg твій варіант на жаль не спрацював, значення відрізняються . А навіть якби спрацював, то перевіряти на порівняння одразу 7-8 кнопок також не дуже зручно. Точно така ж ситуація при написанні аплікухи на Mobile модулі (що мабуть логічно). Загалом якщо у кого будуть думки щодо віртуальних кодів, із задоволенням вислухаю. І якщо хтось має можливість провести цей простий експеримент на КПК, також буде цікаво подивитися на результат.

П.С. Напевно, тему варто перекинути в розділ "Mobile, Touch Panel.", бо проблема там зарита.