From cf44fcdb5286615c17856a3c00b058235441c758 Mon Sep 17 00:00:00 2001 From: Rene Gollent Date: Thu, 11 Dec 2008 04:27:56 +0000 Subject: [PATCH] Updated patch from Olivier Cortes - complete the list of modifier keys that are checked and returned. Thanks! git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28800 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- .../input_server/devices/keyboard/Keymap.cpp | 20 +++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) diff --git a/src/add-ons/input_server/devices/keyboard/Keymap.cpp b/src/add-ons/input_server/devices/keyboard/Keymap.cpp index d7183a65cc..edb7be8699 100644 --- a/src/add-ons/input_server/devices/keyboard/Keymap.cpp +++ b/src/add-ons/input_server/devices/keyboard/Keymap.cpp @@ -159,14 +159,30 @@ Keymap::Modifier(uint32 keyCode) uint32 Keymap::KeyForModifier(uint32 modifier) { - if (modifier == B_LEFT_COMMAND_KEY) + if (modifier == B_CAPS_LOCK) + return fKeys.caps_key; + if (modifier == B_NUM_LOCK) + return fKeys.num_key; + if (modifier == B_SCROLL_LOCK) + return fKeys.scroll_key; + if (modifier == B_LEFT_SHIFT_KEY || modifier == B_SHIFT_KEY) + return fKeys.left_shift_key; + if (modifier == B_RIGHT_SHIFT_KEY) + return fKeys.right_shift_key; + if (modifier == B_LEFT_COMMAND_KEY || modifier == B_COMMAND_KEY) return fKeys.left_command_key; if (modifier == B_RIGHT_COMMAND_KEY) return fKeys.right_command_key; - if (modifier == B_LEFT_CONTROL_KEY) + if (modifier == B_LEFT_CONTROL_KEY || modifier == B_CONTROL_KEY) return fKeys.left_control_key; if (modifier == B_RIGHT_CONTROL_KEY) return fKeys.right_control_key; + if (modifier == B_LEFT_OPTION_KEY || modifier == B_OPTION_KEY) + return fKeys.left_option_key; + if (modifier == B_RIGHT_OPTION_KEY) + return fKeys.right_option_key; + if (modifier == B_MENU_KEY) + return fKeys.menu_key; return 0; }