cleanup, but I may have messed up line endings... I hope not.

This commit is contained in:
AJ Kelly
2011-02-23 16:53:22 -06:00
parent 6b54fa5e4e
commit 10936e8217
4 changed files with 358 additions and 374 deletions
-1
View File
@@ -245,7 +245,6 @@ void HIDDevice::AddElement( const void *value, void *context )
if( !IntValue(object, usage) ) if( !IntValue(object, usage) )
return; return;
// Get cookie // Get cookie
object = CFDictionaryGetValue( properties, CFSTR(kIOHIDElementCookieKey) ); object = CFDictionaryGetValue( properties, CFSTR(kIOHIDElementCookieKey) );
if( !LongValue(object, cookie) ) if( !LongValue(object, cookie) )
+21 -34
View File
@@ -55,9 +55,8 @@ namespace __gnu_cxx
}; };
} }
/* /* This is just awful, these aren't objects, treating them as such
* This is just awful, these aren't objects, treating them as such leads * leads to: (*object)->function(object [, argument]...)
* to: (*object)->function(object [, argument]...)
* Instead, do: CALL(object, function [, argument]...) * Instead, do: CALL(object, function [, argument]...)
*/ */
#define CALL(o,f,...) (*(o))->f((o), ## __VA_ARGS__) #define CALL(o,f,...) (*(o))->f((o), ## __VA_ARGS__)
@@ -74,27 +73,19 @@ private:
static void AddElement( const void *value, void *context ); static void AddElement( const void *value, void *context );
protected: protected:
/* /* Each physical device has zero or more logical devices. If this device
* Each physical device has zero or more logical devices. If this device allows * allows a logical device of type (usagePage, usage), then allocate storage
* a logical device of type (usagePage, usage), then allocate storage as necessary * as necessary and return true, otherwise, return false. */
* and return true, otherwise, return false.
*/
virtual bool AddLogicalDevice( int usagePage, int usage ) = 0; virtual bool AddLogicalDevice( int usagePage, int usage ) = 0;
/* /* If the most recently added logical device cares about the state of an
* If the most recently added logical device cares about the state of an element of type * element of type (usagePage, usage), store the cookie. */
* (usagePage, usage), store the cookie.
*/
virtual void AddElement( int usagePage, int usage, IOHIDElementCookie cookie, const CFDictionaryRef properties ) = 0; virtual void AddElement( int usagePage, int usage, IOHIDElementCookie cookie, const CFDictionaryRef properties ) = 0;
/* // Add any elements to the queue by calling AddElementToQueue() with the stored cookies.
* Add any elements to the queue by calling AddElementToQueue() with the stored cookies.
*/
virtual void Open() = 0; virtual void Open() = 0;
/* // Optional. Subclasses can initialize the device, if required.
* Optional. Subclasses can initialize the device, if required.
*/
virtual bool InitDevice( int vid, int pid ) { return true; } virtual bool InitDevice( int vid, int pid ) { return true; }
// This adds the element with the given cookie to the queue to be notified of state changes. // This adds the element with the given cookie to the queue to be notified of state changes.
@@ -118,26 +109,22 @@ public:
void StartQueue( CFRunLoopRef loopRef, IOHIDCallbackFunction callback, void *target, int refCon ); void StartQueue( CFRunLoopRef loopRef, IOHIDCallbackFunction callback, void *target, int refCon );
inline const RString& GetDescription() const { return m_sDescription; } inline const RString& GetDescription() const { return m_sDescription; }
/* Add button presses (or releases) to vPresses for the given cookie. More
/* * than one DeviceInput can be added at a time. For example, Two axes
* Add button presses (or releases) to vPresses for the given cookie. More than one DeviceInput * presses may be generated by a single element. The value of the element is
* can be added at a time. For example, Two axes presses may be generated by a single element. * passed to determine if this is a push or a release. The time is provided
* The value of the element is passed to determine if this is a push or a release. The time * as an optimization. */
* is provided as an optimization.
*/
virtual void GetButtonPresses( vector<DeviceInput>& vPresses, IOHIDElementCookie cookie, int value, const RageTimer& now ) const = 0; virtual void GetButtonPresses( vector<DeviceInput>& vPresses, IOHIDElementCookie cookie, int value, const RageTimer& now ) const = 0;
/* /* Returns the number of IDs assigned starting from startID. This is not
* Returns the number of IDs assigned starting from startID. This is not meaningful for devices like * meaningful for devices like keyboards that all share the same InputDevice
* keyboards that all share the same InputDevice id. If a particular device has multiple logical * id. If a particular device has multiple logical devices, then it must
* devices, then it must ensure that AssignIDs does not assign an ID outside of its range. Return * ensure that AssignIDs does not assign an ID outside of its range.
* -1 to indicate that the device does not share the same InputDevice and none could be assigned. * Return -1 to indicate that the device does not share the same InputDevice
*/ * and none could be assigned. */
virtual int AssignIDs( InputDevice startID ) { return 0; } virtual int AssignIDs( InputDevice startID ) { return 0; }
/* //Add a device and a description for each logical device.
* Add a device and a description for each logical device.
*/
virtual void GetDevicesAndDescriptions( vector<InputDeviceInfo>& vDevices ) const = 0; virtual void GetDevicesAndDescriptions( vector<InputDeviceInfo>& vDevices ) const = 0;
}; };
+256 -257
View File
@@ -187,283 +187,282 @@ void KeyboardDevice::GetDevicesAndDescriptions( vector<InputDeviceInfo>& vDevice
vDevices.insert( vDevices.begin(), InputDeviceInfo(DEVICE_KEYBOARD, "Keyboard") ); vDevices.insert( vDevices.begin(), InputDeviceInfo(DEVICE_KEYBOARD, "Keyboard") );
} }
// http://lists.apple.com/archives/carbon-dev/2005/Feb/msg00071.html // http://lists.apple.com/archives/carbon-dev/2005/Feb/msg00071.html
// index represents USB keyboard usage value, content is Mac virtual keycode // index represents USB keyboard usage value, content is Mac virtual keycode
static UInt8 g_iUsbKeyToMacVirtualKey[256] = static UInt8 g_iUsbKeyToMacVirtualKey[256] =
{ {
0xFF, /* 00 no event */ 0xFF, // 00 no event
0xFF, /* 01 ErrorRollOver */ 0xFF, // 01 ErrorRollOver
0xFF, /* 02 POSTFail */ 0xFF, // 02 POSTFail
0xFF, /* 03 ErrorUndefined */ 0xFF, // 03 ErrorUndefined
0x00, /* 04 A */ 0x00, // 04 A
0x0B, /* 05 B */ 0x0B, // 05 B
0x08, /* 06 C */ 0x08, // 06 C
0x02, /* 07 D */ 0x02, // 07 D
0x0E, /* 08 E */ 0x0E, // 08 E
0x03, /* 09 F */ 0x03, // 09 F
0x05, /* 0A G */ 0x05, // 0A G
0x04, /* 0B H */ 0x04, // 0B H
0x22, /* 0C I */ 0x22, // 0C I
0x26, /* 0D J */ 0x26, // 0D J
0x28, /* 0E K */ 0x28, // 0E K
0x25, /* 0F L */ 0x25, // 0F L
0x2E, /* 10 M */ 0x2E, // 10 M
0x2D, /* 11 N */ 0x2D, // 11 N
0x1F, /* 12 O */ 0x1F, // 12 O
0x23, /* 13 P */ 0x23, // 13 P
0x0C, /* 14 Q */ 0x0C, // 14 Q
0x0F, /* 15 R */ 0x0F, // 15 R
0x01, /* 16 S */ 0x01, // 16 S
0x11, /* 17 T */ 0x11, // 17 T
0x20, /* 18 U */ 0x20, // 18 U
0x09, /* 19 V */ 0x09, // 19 V
0x0D, /* 1A W */ 0x0D, // 1A W
0x07, /* 1B X */ 0x07, // 1B X
0x10, /* 1C Y */ 0x10, // 1C Y
0x06, /* 1D Z */ 0x06, // 1D Z
0x12, /* 1E 1/! */ 0x12, // 1E 1/!
0x13, /* 1F 2/@ */ 0x13, // 1F 2/@
0x14, /* 20 3 # */ 0x14, // 20 3 #
0x15, /* 21 4 $ */ 0x15, // 21 4 $
0x17, /* 22 5 % */ 0x17, // 22 5 %
0x16, /* 23 6 ^ */ 0x16, // 23 6 ^
0x1A, /* 24 7 & */ 0x1A, // 24 7 &
0x1C, /* 25 8 * */ 0x1C, // 25 8 *
0x19, /* 26 9 ( */ 0x19, // 26 9 (
0x1D, /* 27 0 ) */ 0x1D, // 27 0 )
0x24, /* 28 Return (Enter) */ 0x24, // 28 Return (Enter)
0x35, /* 29 ESC */ 0x35, // 29 ESC
0x33, /* 2A Delete (Backspace) */ 0x33, // 2A Delete (Backspace)
0x30, /* 2B Tab */ 0x30, // 2B Tab
0x31, /* 2C Spacebar */ 0x31, // 2C Spacebar
0x1B, /* 2D - _ */ 0x1B, // 2D - _
0x18, /* 2E = + */ 0x18, // 2E = +
0x21, /* 2F [ { */ 0x21, // 2F [ {
0x1E, /* 30 ] } */ 0x1E, // 30 ] }
0x2A, /* 31 \ | */ 0x2A, // 31 \ |
0xFF, /* 32 Non-US # and ~ (what?!!!) */ 0xFF, // 32 Non-US # and ~ (what?!!!)
0x29, /* 33 ; : */ 0x29, // 33 ; :
0x27, /* 34 ' " */ 0x27, // 34 ' "
0x32, /* 35 ` ~ */ 0x32, // 35 ` ~
0x2B, /* 36 , < */ 0x2B, // 36 , <
0x2F, /* 37 . > */ 0x2F, // 37 . >
0x2C, /* 38 / ? */ 0x2C, // 38 / ?
0x39, /* 39 Caps Lock */ 0x39, // 39 Caps Lock
0x7A, /* 3A F1 */ 0x7A, // 3A F1
0x78, /* 3B F2 */ 0x78, // 3B F2
0x63, /* 3C F3 */ 0x63, // 3C F3
0x76, /* 3D F4 */ 0x76, // 3D F4
0x60, /* 3E F5 */ 0x60, // 3E F5
0x61, /* 3F F6 */ 0x61, // 3F F6
0x62, /* 40 F7 */ 0x62, // 40 F7
0x64, /* 41 F8 */ 0x64, // 41 F8
0x65, /* 42 F9 */ 0x65, // 42 F9
0x6D, /* 43 F10 */ 0x6D, // 43 F10
0x67, /* 44 F11 */ 0x67, // 44 F11
0x6F, /* 45 F12 */ 0x6F, // 45 F12
0x69, /* 46 F13/PrintScreen */ 0x69, // 46 F13/PrintScreen
0x6B, /* 47 F14/ScrollLock */ 0x6B, // 47 F14/ScrollLock
0x71, /* 48 F15/Pause */ 0x71, // 48 F15/Pause
0x72, /* 49 Insert */ 0x72, // 49 Insert
0x73, /* 4A Home */ 0x73, // 4A Home
0x74, /* 4B PageUp */ 0x74, // 4B PageUp
0x75, /* 4C Delete Forward */ 0x75, // 4C Delete Forward
0x77, /* 4D End */ 0x77, // 4D End
0x79, /* 4E PageDown */ 0x79, // 4E PageDown
0x7C, /* 4F RightArrow */ 0x7C, // 4F RightArrow
0x7B, /* 50 LeftArrow */ 0x7B, // 50 LeftArrow
0x7D, /* 51 DownArrow */ 0x7D, // 51 DownArrow
0x7E, /* 52 UpArrow */ 0x7E, // 52 UpArrow
0x47, /* 53 NumLock/Clear */ 0x47, // 53 NumLock/Clear
0x4B, /* 54 Keypad / */ 0x4B, // 54 Keypad /
0x43, /* 55 Keypad * */ 0x43, // 55 Keypad *
0x4E, /* 56 Keypad - */ 0x4E, // 56 Keypad -
0x45, /* 57 Keypad + */ 0x45, // 57 Keypad +
0x4C, /* 58 Keypad Enter */ 0x4C, // 58 Keypad Enter
0x53, /* 59 Keypad 1 */ 0x53, // 59 Keypad 1
0x54, /* 5A Keypad 2 */ 0x54, // 5A Keypad 2
0x55, /* 5B Keypad 3 */ 0x55, // 5B Keypad 3
0x56, /* 5C Keypad 4 */ 0x56, // 5C Keypad 4
0x57, /* 5D Keypad 5 */ 0x57, // 5D Keypad 5
0x58, /* 5E Keypad 6 */ 0x58, // 5E Keypad 6
0x59, /* 5F Keypad 7 */ 0x59, // 5F Keypad 7
0x5B, /* 60 Keypad 8 */ 0x5B, // 60 Keypad 8
0x5C, /* 61 Keypad 9 */ 0x5C, // 61 Keypad 9
0x52, /* 62 Keypad 0 */ 0x52, // 62 Keypad 0
0x41, /* 63 Keypad . */ 0x41, // 63 Keypad .
0xFF, /* 64 Non-US \ and | (what ??!!) */ 0xFF, // 64 Non-US \ and | (what ??!!)
0x6E, /* 65 ApplicationKey (not on a mac!)*/ 0x6E, // 65 ApplicationKey (not on Apple keyboards)
0x7F, /* 66 PowerKey */ 0x7F, // 66 PowerKey
0x51, /* 67 Keypad = */ 0x51, // 67 Keypad =
0x69, /* 68 F13 */ 0x69, // 68 F13
0x6B, /* 69 F14 */ 0x6B, // 69 F14
0x71, /* 6A F15 */ 0x71, // 6A F15
0xFF, /* 6B F16 */ 0xFF, // 6B F16
0xFF, /* 6C F17 */ 0xFF, // 6C F17
0xFF, /* 6D F18 */ 0xFF, // 6D F18
0xFF, /* 6E F19 */ 0xFF, // 6E F19
0xFF, /* 6F F20 */ 0xFF, // 6F F20
0x5B, /* 70 F21 */ 0x5B, // 70 F21
0x5C, /* 71 F22 */ 0x5C, // 71 F22
0x52, /* 72 F23 */ 0x52, // 72 F23
0x41, /* 73 F24 */ 0x41, // 73 F24
0xFF, /* 74 Execute */ 0xFF, // 74 Execute
0xFF, /* 75 Help */ 0xFF, // 75 Help
0x7F, /* 76 Menu */ 0x7F, // 76 Menu
0x4C, /* 77 Select */ 0x4C, // 77 Select
0x69, /* 78 Stop */ 0x69, // 78 Stop
0x6B, /* 79 Again */ 0x6B, // 79 Again
0x71, /* 7A Undo */ 0x71, // 7A Undo
0xFF, /* 7B Cut */ 0xFF, // 7B Cut
0xFF, /* 7C Copy */ 0xFF, // 7C Copy
0xFF, /* 7D Paste */ 0xFF, // 7D Paste
0xFF, /* 7E Find */ 0xFF, // 7E Find
0xFF, /* 7F Mute */ 0xFF, // 7F Mute
0xFF, /* 80 no event */ 0xFF, // 80 no event
0xFF, /* 81 no event */ 0xFF, // 81 no event
0xFF, /* 82 no event */ 0xFF, // 82 no event
0xFF, /* 83 no event */ 0xFF, // 83 no event
0xFF, /* 84 no event */ 0xFF, // 84 no event
0xFF, /* 85 no event */ 0xFF, // 85 no event
0xFF, /* 86 no event */ 0xFF, // 86 no event
0xFF, /* 87 no event */ 0xFF, // 87 no event
0xFF, /* 88 no event */ 0xFF, // 88 no event
0xFF, /* 89 no event */ 0xFF, // 89 no event
0xFF, /* 8A no event */ 0xFF, // 8A no event
0xFF, /* 8B no event */ 0xFF, // 8B no event
0xFF, /* 8C no event */ 0xFF, // 8C no event
0xFF, /* 8D no event */ 0xFF, // 8D no event
0xFF, /* 8E no event */ 0xFF, // 8E no event
0xFF, /* 8F no event */ 0xFF, // 8F no event
0xFF, /* 90 no event */ 0xFF, // 90 no event
0xFF, /* 91 no event */ 0xFF, // 91 no event
0xFF, /* 92 no event */ 0xFF, // 92 no event
0xFF, /* 93 no event */ 0xFF, // 93 no event
0xFF, /* 94 no event */ 0xFF, // 94 no event
0xFF, /* 95 no event */ 0xFF, // 95 no event
0xFF, /* 96 no event */ 0xFF, // 96 no event
0xFF, /* 97 no event */ 0xFF, // 97 no event
0xFF, /* 98 no event */ 0xFF, // 98 no event
0xFF, /* 99 no event */ 0xFF, // 99 no event
0xFF, /* 9A no event */ 0xFF, // 9A no event
0xFF, /* 9B no event */ 0xFF, // 9B no event
0xFF, /* 9C no event */ 0xFF, // 9C no event
0xFF, /* 9D no event */ 0xFF, // 9D no event
0xFF, /* 9E no event */ 0xFF, // 9E no event
0xFF, /* 9F no event */ 0xFF, // 9F no event
0xFF, /* A0 no event */ 0xFF, // A0 no event
0xFF, /* A1 no event */ 0xFF, // A1 no event
0xFF, /* A2 no event */ 0xFF, // A2 no event
0xFF, /* A3 no event */ 0xFF, // A3 no event
0xFF, /* A4 no event */ 0xFF, // A4 no event
0xFF, /* A5 no event */ 0xFF, // A5 no event
0xFF, /* A6 no event */ 0xFF, // A6 no event
0xFF, /* A7 no event */ 0xFF, // A7 no event
0xFF, /* A8 no event */ 0xFF, // A8 no event
0xFF, /* A9 no event */ 0xFF, // A9 no event
0xFF, /* AA no event */ 0xFF, // AA no event
0xFF, /* AB no event */ 0xFF, // AB no event
0xFF, /* AC no event */ 0xFF, // AC no event
0xFF, /* AD no event */ 0xFF, // AD no event
0xFF, /* AE no event */ 0xFF, // AE no event
0xFF, /* AF no event */ 0xFF, // AF no event
0xFF, /* B0 no event */ 0xFF, // B0 no event
0xFF, /* B1 no event */ 0xFF, // B1 no event
0xFF, /* B2 no event */ 0xFF, // B2 no event
0xFF, /* B3 no event */ 0xFF, // B3 no event
0xFF, /* B4 no event */ 0xFF, // B4 no event
0xFF, /* B5 no event */ 0xFF, // B5 no event
0xFF, /* B6 no event */ 0xFF, // B6 no event
0xFF, /* B7 no event */ 0xFF, // B7 no event
0xFF, /* B8 no event */ 0xFF, // B8 no event
0xFF, /* B9 no event */ 0xFF, // B9 no event
0xFF, /* BA no event */ 0xFF, // BA no event
0xFF, /* BB no event */ 0xFF, // BB no event
0xFF, /* BC no event */ 0xFF, // BC no event
0xFF, /* BD no event */ 0xFF, // BD no event
0xFF, /* BE no event */ 0xFF, // BE no event
0xFF, /* BF no event */ 0xFF, // BF no event
0xFF, /* C0 no event */ 0xFF, // C0 no event
0xFF, /* C1 no event */ 0xFF, // C1 no event
0xFF, /* C2 no event */ 0xFF, // C2 no event
0xFF, /* C3 no event */ 0xFF, // C3 no event
0xFF, /* C4 no event */ 0xFF, // C4 no event
0xFF, /* C5 no event */ 0xFF, // C5 no event
0xFF, /* C6 no event */ 0xFF, // C6 no event
0xFF, /* C7 no event */ 0xFF, // C7 no event
0xFF, /* C8 no event */ 0xFF, // C8 no event
0xFF, /* C9 no event */ 0xFF, // C9 no event
0xFF, /* CA no event */ 0xFF, // CA no event
0xFF, /* CB no event */ 0xFF, // CB no event
0xFF, /* CC no event */ 0xFF, // CC no event
0xFF, /* CD no event */ 0xFF, // CD no event
0xFF, /* CE no event */ 0xFF, // CE no event
0xFF, /* CF no event */ 0xFF, // CF no event
0xFF, /* D0 no event */ 0xFF, // D0 no event
0xFF, /* D1 no event */ 0xFF, // D1 no event
0xFF, /* D2 no event */ 0xFF, // D2 no event
0xFF, /* D3 no event */ 0xFF, // D3 no event
0xFF, /* D4 no event */ 0xFF, // D4 no event
0xFF, /* D5 no event */ 0xFF, // D5 no event
0xFF, /* D6 no event */ 0xFF, // D6 no event
0xFF, /* D7 no event */ 0xFF, // D7 no event
0xFF, /* D8 no event */ 0xFF, // D8 no event
0xFF, /* D9 no event */ 0xFF, // D9 no event
0xFF, /* DA no event */ 0xFF, // DA no event
0xFF, /* DB no event */ 0xFF, // DB no event
0xFF, /* DC no event */ 0xFF, // DC no event
0xFF, /* DD no event */ 0xFF, // DD no event
0xFF, /* DE no event */ 0xFF, // DE no event
0xFF, /* DF no event */ 0xFF, // DF no event
0x3B, /* E0 left control key */ 0x3B, // E0 left control key
0x38, /* E1 left shift key key */ 0x38, // E1 left shift key key
0x3A, /* E2 left alt/option key */ 0x3A, // E2 left alt/option key
0x37, /* E3 left GUI (windows/cmd) key */ 0x37, // E3 left GUI (windows/cmd) key
0x3B, /* E4 right control key */ 0x3B, // E4 right control key
0x38, /* E5 right shift key key */ 0x38, // E5 right shift key key
0x3A, /* E6 right alt/option key */ 0x3A, // E6 right alt/option key
0x37, /* E7 right GUI (windows/cmd) key */ 0x37, // E7 right GUI (windows/cmd) key
0xFF, /* E8 no event */ 0xFF, // E8 no event
0xFF, /* E9 no event */ 0xFF, // E9 no event
0xFF, /* EA no event */ 0xFF, // EA no event
0xFF, /* EB no event */ 0xFF, // EB no event
0xFF, /* EC no event */ 0xFF, // EC no event
0xFF, /* ED no event */ 0xFF, // ED no event
0xFF, /* EE no event */ 0xFF, // EE no event
0xFF, /* EF no event */ 0xFF, // EF no event
0xFF, /* F0 no event */ 0xFF, // F0 no event
0xFF, /* F1 no event */ 0xFF, // F1 no event
0xFF, /* F2 no event */ 0xFF, // F2 no event
0xFF, /* F3 no event */ 0xFF, // F3 no event
0xFF, /* F4 no event */ 0xFF, // F4 no event
0xFF, /* F5 no event */ 0xFF, // F5 no event
0xFF, /* F6 no event */ 0xFF, // F6 no event
0xFF, /* F7 no event */ 0xFF, // F7 no event
0xFF, /* F8 no event */ 0xFF, // F8 no event
0xFF, /* F9 no event */ 0xFF, // F9 no event
0xFF, /* FA no event */ 0xFF, // FA no event
0xFF, /* FB no event */ 0xFF, // FB no event
0xFF, /* FC no event */ 0xFF, // FC no event
0xFF, /* FD no event */ 0xFF, // FD no event
0xFF, /* FE no event */ 0xFF, // FE no event
0xFF, /* FF no event */ 0xFF, // FF no event
}; };
static UInt8 g_iDeviceButtonToMacVirtualKey[KEY_OTHER_0]; static UInt8 g_iDeviceButtonToMacVirtualKey[KEY_OTHER_0];
-1
View File
@@ -20,7 +20,6 @@ public:
static bool DeviceButtonToMacVirtualKey( DeviceButton button, UInt8 &iMacVKOut ); static bool DeviceButtonToMacVirtualKey( DeviceButton button, UInt8 &iMacVKOut );
}; };
#endif #endif
/* /*