From 430d42aeac47fe1162f1b0014f35a062608a22bc Mon Sep 17 00:00:00 2001 From: Mads Kiilerich Date: Sat, 24 Mar 2012 01:57:10 +0100 Subject: [PATCH] locale: encapsulate RDP_SCANCODE_TO_X11_KEYCODE in keyboard.c --- libfreerdp-locale/keyboard.c | 9 +++++++++ libfreerdp-locale/keyboard_x11.c | 7 ------- libfreerdp-locale/keyboard_xkbfile.c | 7 ------- 3 files changed, 9 insertions(+), 14 deletions(-) diff --git a/libfreerdp-locale/keyboard.c b/libfreerdp-locale/keyboard.c index d50f704..6bba18f 100644 --- a/libfreerdp-locale/keyboard.c +++ b/libfreerdp-locale/keyboard.c @@ -68,6 +68,8 @@ uint32 freerdp_detect_keyboard(uint32 keyboardLayoutID) uint32 freerdp_keyboard_init(uint32 keyboardLayoutId) { + uint32 keycode; + #ifdef WITH_X11 #ifdef WITH_XKBFILE @@ -79,6 +81,13 @@ uint32 freerdp_keyboard_init(uint32 keyboardLayoutId) #endif #endif + + memset(RDP_SCANCODE_TO_X11_KEYCODE, 0, sizeof(RDP_SCANCODE_TO_X11_KEYCODE)); + for (keycode=0; keycode < ARRAY_SIZE(RDP_SCANCODE_TO_X11_KEYCODE); keycode++) + RDP_SCANCODE_TO_X11_KEYCODE + [X11_KEYCODE_TO_RDP_SCANCODE[keycode].code] + [X11_KEYCODE_TO_RDP_SCANCODE[keycode].extended ? 1: 0] = keycode; + return keyboardLayoutId; } diff --git a/libfreerdp-locale/keyboard_x11.c b/libfreerdp-locale/keyboard_x11.c index 2ad5f59..408a5af 100644 --- a/libfreerdp-locale/keyboard_x11.c +++ b/libfreerdp-locale/keyboard_x11.c @@ -30,7 +30,6 @@ #include "keyboard_keymap.h" #include "xkb_layout_ids.h" -extern uint32 RDP_SCANCODE_TO_X11_KEYCODE[256][2]; extern RDP_SCANCODE X11_KEYCODE_TO_RDP_SCANCODE[256]; extern const RDP_SCANCODE VIRTUAL_KEY_CODE_TO_DEFAULT_RDP_SCANCODE_TABLE[256]; @@ -212,7 +211,6 @@ uint32 freerdp_keyboard_init_x11(uint32 keyboardLayoutId) memset(keycode_to_vkcode, 0, sizeof(keycode_to_vkcode)); memset(X11_KEYCODE_TO_RDP_SCANCODE, 0, sizeof(X11_KEYCODE_TO_RDP_SCANCODE)); - memset(RDP_SCANCODE_TO_X11_KEYCODE, 0, sizeof(RDP_SCANCODE_TO_X11_KEYCODE)); if (keyboardLayoutId == 0) { @@ -251,11 +249,6 @@ uint32 freerdp_keyboard_init_x11(uint32 keyboardLayoutId) X11_KEYCODE_TO_RDP_SCANCODE[keycode].code = scancode; X11_KEYCODE_TO_RDP_SCANCODE[keycode].extended = extended; - - if (extended) - RDP_SCANCODE_TO_X11_KEYCODE[scancode][1] = keycode; - else - RDP_SCANCODE_TO_X11_KEYCODE[scancode][0] = keycode; } return keyboardLayoutId; diff --git a/libfreerdp-locale/keyboard_xkbfile.c b/libfreerdp-locale/keyboard_xkbfile.c index 642dbb9..37fe869 100644 --- a/libfreerdp-locale/keyboard_xkbfile.c +++ b/libfreerdp-locale/keyboard_xkbfile.c @@ -26,7 +26,6 @@ #include "xkb_layout_ids.h" #include "liblocale.h" -extern uint32 RDP_SCANCODE_TO_X11_KEYCODE[256][2]; extern RDP_SCANCODE X11_KEYCODE_TO_RDP_SCANCODE[256]; extern const RDP_SCANCODE VIRTUAL_KEY_CODE_TO_DEFAULT_RDP_SCANCODE_TABLE[256]; @@ -320,7 +319,6 @@ uint32 freerdp_keyboard_init_xkbfile(uint32 keyboardLayoutId) { void* display; memset(X11_KEYCODE_TO_RDP_SCANCODE, 0, sizeof(X11_KEYCODE_TO_RDP_SCANCODE)); - memset(RDP_SCANCODE_TO_X11_KEYCODE, 0, sizeof(RDP_SCANCODE_TO_X11_KEYCODE)); display = freerdp_keyboard_xkb_init(); @@ -472,11 +470,6 @@ int freerdp_keyboard_load_map_from_xkbfile(void* display) X11_KEYCODE_TO_RDP_SCANCODE[i].code = scancode; X11_KEYCODE_TO_RDP_SCANCODE[i].extended = extended; - - if (extended) - RDP_SCANCODE_TO_X11_KEYCODE[scancode][1] = i; - else - RDP_SCANCODE_TO_X11_KEYCODE[scancode][0] = i; } else { -- 2.7.4