mirror of https://github.com/ClassiCube/ClassiCube
Merge pull request #1459 from shinovon/13
Symbian: Default key mappings
This commit is contained in:
commit
f93bd379e6
|
|
@ -2,8 +2,7 @@ TARGET ClassiCube_s60v3.exe
|
||||||
|
|
||||||
MACRO CC_BUILD_SYMBIAN_S60V3
|
MACRO CC_BUILD_SYMBIAN_S60V3
|
||||||
MACRO CC_GFX_BACKEND=CC_GFX_BACKEND_GL1
|
MACRO CC_GFX_BACKEND=CC_GFX_BACKEND_GL1
|
||||||
MACRO CC_DISABLE_ANIMATIONS
|
MACRO CC_BUILD_FPU_MODE=CC_FPU_MODE_LIMITED
|
||||||
MACRO CC_DISABLE_HELDBLOCK
|
|
||||||
|
|
||||||
ARMFPU softvfp
|
ARMFPU softvfp
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ TARGET ClassiCube_s60v5.exe
|
||||||
|
|
||||||
MACRO CC_BUILD_SYMBIAN_S60V5
|
MACRO CC_BUILD_SYMBIAN_S60V5
|
||||||
MACRO CC_GFX_BACKEND=CC_GFX_BACKEND_GL1
|
MACRO CC_GFX_BACKEND=CC_GFX_BACKEND_GL1
|
||||||
MACRO CC_DISABLE_ANIMATIONS
|
MACRO CC_BUILD_FPU_MODE=CC_FPU_MODE_LIMITED
|
||||||
|
|
||||||
ARMFPU softvfp
|
ARMFPU softvfp
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -15,7 +15,7 @@ SYSTEMINCLUDE .
|
||||||
USERINCLUDE ../../third_party/bearssl
|
USERINCLUDE ../../third_party/bearssl
|
||||||
|
|
||||||
#ifdef ARMCC
|
#ifdef ARMCC
|
||||||
OPTION ARMCC -Otime --diag_suppress 1296 --diag_suppress 1293 --diag_suppress 66
|
OPTION ARMCC -Otime --diag_suppress 1296,1293,66,61
|
||||||
#ifndef ARMV5
|
#ifndef ARMV5
|
||||||
OPTION_REPLACE ARMCC --cpu 6
|
OPTION_REPLACE ARMCC --cpu 6
|
||||||
OPTION_REPLACE ARMCC --fpu softvfp+vfpv2 --fpmode fast
|
OPTION_REPLACE ARMCC --fpu softvfp+vfpv2 --fpmode fast
|
||||||
|
|
|
||||||
|
|
@ -20,7 +20,8 @@
|
||||||
#include <baclipb.h>
|
#include <baclipb.h>
|
||||||
#include <s32ucmp.h>
|
#include <s32ucmp.h>
|
||||||
#include <classicube.rsg>
|
#include <classicube.rsg>
|
||||||
|
#include <e32property.h>
|
||||||
|
#include <hal.h>
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#include <stdapis/string.h>
|
#include <stdapis/string.h>
|
||||||
#include <gles/egl.h>
|
#include <gles/egl.h>
|
||||||
|
|
@ -48,45 +49,54 @@ const TUid KUidClassiCube = {0xE212A5C2};
|
||||||
|
|
||||||
static CCContainer* container;
|
static CCContainer* container;
|
||||||
|
|
||||||
static const BindMapping symbian_binds[BIND_COUNT] = {
|
// 12 keys
|
||||||
{ CCKEY_UP, 0 }, // BIND_FORWARD
|
const BindMapping symbian_binds_12[BIND_COUNT] = {
|
||||||
{ CCKEY_DOWN, 0 }, // BIND_BACKWARDS
|
{ '2', 0 }, { '8', 0 }, { '4', 0 }, { '6', 0 }, /* BIND_FORWARD - BIND_RIGHT */
|
||||||
{ CCKEY_LEFT, 0 }, // BIND_LEFT
|
{ CCKEY_ENTER, 0 }, { '3', 0 }, /* BIND_JUMP, BIND_RESPAWN */
|
||||||
{ CCKEY_RIGHT, 0 }, // BIND_RIGHT
|
{ 0, 0 }, { 0, 0 }, /* BIND_SET_SPAWN, BIND_CHAT */
|
||||||
{ CCKEY_SPACE, 0 }, // BIND_JUMP
|
{ '1', 0 }, { 0, 0 }, /* BIND_INVENTORY, BIND_FOG */
|
||||||
{ 'R', 0 }, // BIND_RESPAWN
|
{ 0, 0 }, { 0, 0 }, /* BIND_SEND_CHAT, BIND_TABLIST */
|
||||||
{ CCKEY_ENTER, 0 }, // BIND_SET_SPAWN
|
{ 0, 0 }, { '7', 0 },{ '9', 0 }, /* BIND_SPEED, BIND_NOCLIP, BIND_FLY */
|
||||||
{ 'T', 0 }, // BIND_CHAT
|
{ 0, 0 }, { '0', 0 }, /* BIND_FLY_UP, BIND_FLY_DOWN */
|
||||||
{ 'B', 0 }, // BIND_INVENTORY
|
{ 0, 0 }, { 0, 0 }, /* BIND_EXT_INPUT, BIND_HIDE_FPS */
|
||||||
{ 'F', 0 }, // BIND_FOG
|
{ 0, 0 }, { 0, 0 }, /* BIND_SCREENSHOT, BIND_FULLSCREEN */
|
||||||
{ CCKEY_ENTER, 0 }, // BIND_SEND_CHAT
|
{ 0, 0 }, { 0, 0 }, /* BIND_THIRD_PERSON, BIND_HIDE_GUI */
|
||||||
{ CCKEY_TAB, 0 }, // BIND_TABLIST
|
{ 0, 0 }, { 0, 0 }, { 0, 0 }, /* BIND_AXIS_LINES, BIND_ZOOM_SCROLL, BIND_HALF_SPEED */
|
||||||
{ '7', 0 }, // BIND_SPEED
|
{ '5', 0 }, { 0, 0 },{ CCKEY_F1, 0}, /* BIND_DELETE_BLOCK, BIND_PICK_BLOCK, BIND_PLACE_BLOCK */
|
||||||
{ '8', 0 }, // BIND_NOCLIP
|
{ 0, 0 }, { 0, 0 }, /* BIND_AUTOROTATE, BIND_HOTBAR_SWITCH */
|
||||||
{ '9', 0 }, // BIND_FLY
|
|
||||||
{ CCKEY_Q, 0 }, // BIND_FLY_UP
|
{ 0, 0 }, { CCKEY_BACKSPACE, 0 }, /* BIND_SMOOTH_CAMERA, BIND_DROP_BLOCK */
|
||||||
{ CCKEY_E, 0 }, // BIND_FLY_DOWN
|
{ 0, 0 }, { 0, 0 }, /* BIND_IDOVERLAY, BIND_BREAK_LIQUIDS */
|
||||||
{ CCKEY_LALT, 0 }, // BIND_EXT_INPUT
|
{ CCKEY_UP, 0 }, { CCKEY_DOWN, 0 }, { CCKEY_RIGHT, 0 }, { CCKEY_LEFT, 0 }, /* BIND_LOOK_UP, BIND_LOOK_DOWN, BIND_LOOK_RIGHT, BIND_LOOK_LEFT */
|
||||||
{ 0, 0 }, // BIND_HIDE_FPS
|
{ 0, 0 }, { 0, 0 }, { 0, 0 }, /* BIND_HOTBAR_1, BIND_HOTBAR_2, BIND_HOTBAR_3 */
|
||||||
{ CCKEY_F12, 0 }, // BIND_SCREENSHOT
|
{ 0, 0 }, { 0, 0 }, { 0, 0 }, /* BIND_HOTBAR_4, BIND_HOTBAR_5, BIND_HOTBAR_6 */
|
||||||
{ 0, 0 }, // BIND_FULLSCREEN
|
{ 0, 0 }, { 0, 0 }, { 0, 0 }, /* BIND_HOTBAR_7, BIND_HOTBAR_8, BIND_HOTBAR_9 */
|
||||||
{ CCKEY_F5, 0 }, // BIND_THIRD_PERSON
|
{ CCKEY_LWIN, 0 }, { CCKEY_BACKSLASH, 0 } /* BIND_HOTBAR_LEFT, BIND_HOTBAR_RIGHT */
|
||||||
{ 0, 0 }, // BIND_HIDE_GUI
|
};
|
||||||
{ CCKEY_F7, 0 }, // BIND_AXIS_LINES
|
|
||||||
{ 'C', 0 }, // BIND_ZOOM_SCROLL
|
// QWERTY
|
||||||
{ CCKEY_LCTRL, 0 },// BIND_HALF_SPEED
|
const BindMapping symbian_binds_qwerty[BIND_COUNT] = {
|
||||||
{ '4', 0 }, // BIND_DELETE_BLOCK
|
{ 'W', 0 }, { 'S', 0 }, { 'A', 0 }, { 'D', 0 }, /* BIND_FORWARD - BIND_RIGHT */
|
||||||
{ '5', 0 }, // BIND_PICK_BLOCK
|
{ CCKEY_SPACE, 0 }, { 'I', 0 }, /* BIND_JUMP, BIND_RESPAWN */
|
||||||
{ '6', 0 }, // BIND_PLACE_BLOCK
|
{ 0, 0 }, { 'K', 0 }, /* BIND_SET_SPAWN, BIND_CHAT */
|
||||||
|
{ CCKEY_F1, 0 }, { 'L', 0 }, /* BIND_INVENTORY, BIND_FOG */
|
||||||
{ 0, 0 }, { 0, 0 }, /* BIND_AUTOROTATE, BIND_HOTBAR_SWITCH */
|
{ CCKEY_ENTER, 0 }, { CCKEY_TAB, 0 }, /* BIND_SEND_CHAT, BIND_TABLIST */
|
||||||
{ 0, 0 }, { 0, 0 }, /* BIND_SMOOTH_CAMERA, BIND_DROP_BLOCK */
|
{ CCKEY_LSHIFT, 0 }, { 'X', 0}, { 'Z', 0 }, /* BIND_SPEED, BIND_NOCLIP, BIND_FLY */
|
||||||
{ 0, 0 }, { 0, 0 }, /* BIND_IDOVERLAY, BIND_BREAK_LIQUIDS */
|
{ 'C', 0 }, { 'D', 0 }, /* BIND_FLY_UP, BIND_FLY_DOWN */
|
||||||
{ 0, 0 }, { 0, 0 }, { 0, 0 }, { 0, 0 }, /* BIND_LOOK_UP, BIND_LOOK_DOWN, BIND_LOOK_RIGHT, BIND_LOOK_LEFT */
|
{ CCKEY_LALT, 0 }, { 0, 0 }, /* BIND_EXT_INPUT, BIND_HIDE_FPS */
|
||||||
{ 0, 0 }, { 0, 0 }, { 0, 0 }, /* BIND_HOTBAR_1, BIND_HOTBAR_2, BIND_HOTBAR_3 */
|
{ 0, 0 }, { 0, 0 }, /* BIND_SCREENSHOT, BIND_FULLSCREEN */
|
||||||
{ 0, 0 }, { 0, 0 }, { 0, 0 }, /* BIND_HOTBAR_4, BIND_HOTBAR_5, BIND_HOTBAR_6 */
|
{ 0, 0 }, { 0, 0 }, /* BIND_THIRD_PERSON, BIND_HIDE_GUI */
|
||||||
{ 0, 0 }, { 0, 0 }, { 0, 0 }, /* BIND_HOTBAR_7, BIND_HOTBAR_8, BIND_HOTBAR_9 */
|
{ 0, 0 }, { 0, 0 }, { CCKEY_LCTRL, 0 }, /* BIND_AXIS_LINES, BIND_ZOOM_SCROLL, BIND_HALF_SPEED */
|
||||||
{ '1', 0 }, { '3', 0 } /* BIND_HOTBAR_LEFT, BIND_HOTBAR_RIGHT */
|
{ 'E', 0 }, { 0, 0 },{ 'Q', 0}, /* BIND_DELETE_BLOCK, BIND_PICK_BLOCK, BIND_PLACE_BLOCK */
|
||||||
|
{ 0, 0 }, { 0, 0 }, /* BIND_AUTOROTATE, BIND_HOTBAR_SWITCH */
|
||||||
|
|
||||||
|
{ 0, 0 }, { CCKEY_BACKSPACE, 0 }, /* BIND_SMOOTH_CAMERA, BIND_DROP_BLOCK */
|
||||||
|
{ 0, 0 }, { 0, 0 }, /* BIND_IDOVERLAY, BIND_BREAK_LIQUIDS */
|
||||||
|
{ CCKEY_UP, 0 }, { CCKEY_DOWN, 0 }, { CCKEY_RIGHT, 0 }, { CCKEY_LEFT, 0 }, /* BIND_LOOK_UP, BIND_LOOK_DOWN, BIND_LOOK_RIGHT, BIND_LOOK_LEFT */
|
||||||
|
{ '1', 0 }, { '2', 0 }, { '3', 0 }, /* BIND_HOTBAR_1, BIND_HOTBAR_2, BIND_HOTBAR_3 */
|
||||||
|
{ '4', 0 }, { '5', 0 }, { '6', 0 }, /* BIND_HOTBAR_4, BIND_HOTBAR_5, BIND_HOTBAR_6 */
|
||||||
|
{ '7', 0 }, { '8', 0 }, { '9', 0 }, /* BIND_HOTBAR_7, BIND_HOTBAR_8, BIND_HOTBAR_9 */
|
||||||
|
{ 'O', 0 }, { 'P', 0 } /* BIND_HOTBAR_LEFT, BIND_HOTBAR_RIGHT */
|
||||||
};
|
};
|
||||||
|
|
||||||
// Event management
|
// Event management
|
||||||
|
|
@ -863,7 +873,33 @@ static void SetClipboardL(const cc_string* value) {
|
||||||
// Window implementation
|
// Window implementation
|
||||||
|
|
||||||
void Window_PreInit(void) {
|
void Window_PreInit(void) {
|
||||||
//NormDevice.defaultBinds = symbian_binds; TODO only use on devices with limited hardware
|
TInt keyboardType = -1;
|
||||||
|
TUid categoryUid = { 0x101F876E }; // KCRUidAvkon
|
||||||
|
RProperty::Get(categoryUid, 0x0000000B /* KAknKeyBoardLayout */, keyboardType);
|
||||||
|
|
||||||
|
switch (keyboardType) {
|
||||||
|
case 0: // ENoKeyboard
|
||||||
|
break;
|
||||||
|
case 1: // EKeyboardWith12Key,
|
||||||
|
case 5: // EHalfQWERTY
|
||||||
|
NormDevice.defaultBinds = symbian_binds_12;
|
||||||
|
break;
|
||||||
|
case 2: // EQWERTY4x12Layout
|
||||||
|
case 3: // EQWERTY4x10Layout
|
||||||
|
case 4: // EQWERTY3x11Layout
|
||||||
|
case 6: // ECustomQWERTY
|
||||||
|
NormDevice.defaultBinds = symbian_binds_qwerty;
|
||||||
|
break;
|
||||||
|
default: // unknown or platform is older than s60v3.2
|
||||||
|
if (HAL::Get(HAL::EKeyboard, keyboardType) == KErrNone) {
|
||||||
|
if (!(keyboardType & EKeyboard_Full)) {
|
||||||
|
NormDevice.defaultBinds = symbian_binds_12;
|
||||||
|
} else {
|
||||||
|
NormDevice.defaultBinds = symbian_binds_qwerty;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Window_Init(void) {
|
void Window_Init(void) {
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue