Раскладка клавиатуры

Портируя игры с GP2X, частенько натыкаешься на такие подводные камни, так как раскладка у этой консоли довольно специфичная. В основном разработчики используют при отладке на хостовой машине стандартные значения SDLK, но в релизе оставляют значения только под джойстик вышеупомянутой консоли. Приходится немного исправлять.



Во-первых, ищем в исходниках такие строчки:

И заменяем их на:

Далее уже меняем сами значения клавиш. Они могут быть даны в GP2X_BUTTON или просто в case с SDLK-кодом клавиши.
Я сделал небольшую табличку, в которой можно понять что на что менять, она подходит для Motorola ZN5:

GP2X Код SDLK => GP2X SDLK (ZN5)
GP2X_BUTTON_UP case 0 SDLK_UP
GP2X_BUTTON_DOWN case 4 SDLK_DOWN
GP2X_BUTTON_LEFT case 2 SDLK_LEFT
GP2X_BUTTON_RIGHT case 6 SDLK_RIGHT
GP2X_BUTTON_UPLEFT case 1 SDLK_3
GP2X_BUTTON_UPRIGHT case 7 SDLK_9
GP2X_BUTTON_DOWNLEFT case 3 SDLK_1
GP2X_BUTTON_DOWNRIGHT case 5 SDLK_7
GP2X_BUTTON_CLICK case 18 SDLK_0
GP2X_BUTTON_A case 12 SDLK_PLUS
GP2X_BUTTON_B case 13 SDLK_MINUS
GP2X_BUTTON_Y case 14 SDLK_F9
GP2X_BUTTON_X case 15 SDLK_F11
GP2X_BUTTON_L case 10 SDLK_HASH
GP2X_BUTTON_R case 11 SDLK_ASTERISK
GP2X_BUTTON_START case 8 SDLK_PAUSE
GP2X_BUTTON_SELECT case 9 SDLK_RETURN
GP2X_BUTTON_VOLUP case 16 SDLK_6
GP2X_BUTTON_VOLDOWN case 17 SDLK_4

Пример заголовочного файла:

Пример исправленного заголовочного файла:


Коды клавиш SDLK для Motorola ZN5:

Раскладка Dingoo A320 (Dingux OS):

Раскладка для Android OS (библиотека SDL от mamaich):

Раскладка Motorola A1200/E6 (MotoEZX OS):

A1200 # sdl name mod N mod sdl
Call 32 SDLK_SPACE 102 SDLK_f
Hangup 27 SDLK_ESCAPE 97 SDLK_a
Camera 19 SDLK_PAUSE 101 SDLK_e
Vol ‘+’ 43 SDLK_PLUS 99 SDLK_c
Vol ‘-‘ 45 SDLK_MINUS 100 SDLK_d
Fire 13 SDLK_RETURN 98 SDLK_b
Up 275 SDLK_RIGHT 106 SDLK_j
Down 276 SDLK_LEFT 105 SDLK_i
Right 274 SDLK_DOWN 104 SDLK_h
Left 273 SDLK_UP 103 SDLK_g

A1200 mod key — клавиша между vol+ и vol-.

ROKR E6 # sdl name
Forward 113 SDLK_q
Pause 112 SDLK_p
Back 111 SDLK_o
un.Call 114 SDLK_r

ROKR E6 mod key — клавиша под красной трубкой (hangup).

Android, Dingux, EZX, Manuals, MotoMAGX

Комментарии: 1

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *