aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans-Christoph Steiner <eighthave@users.sourceforge.net>2010-01-28 00:37:54 +0000
committerHans-Christoph Steiner <eighthave@users.sourceforge.net>2010-01-28 00:37:54 +0000
commit6b2aa4a4a7816d604ee63c974131c03fed9a4b7c (patch)
treef2e8041327aba32123e3c45acf746a523943d188
parentd97ac3564e559040da3b87635352da0cea75ab5e (diff)
first working version of hidio+HIDUtilities build on Mac OS X using autotools, still needs work
svn path=/trunk/externals/io/hidio/; revision=13107
-rwxr-xr-xHID Utilities Source/English.lproj/HID_cookie_strings.plist128
-rwxr-xr-xHID Utilities Source/English.lproj/HID_device_usage_strings.plist633
-rwxr-xr-xHID Utilities Source/English.lproj/HID_usage_strings.plist200
-rwxr-xr-xHID Utilities Source/HID Utilities Read Me.rtf331
-rwxr-xr-xHID Utilities Source/HID Utilities Slib.pbproj/project.pbxproj382
-rw-r--r--HID_Utilities_Source/HIDLib.h (renamed from HID Utilities Source/HIDLib.h)0
-rw-r--r--HID_Utilities_Source/HID_APIs.h (renamed from HID Utilities Source/HID_APIs.h)0
-rw-r--r--HID_Utilities_Source/HID_CFM.c (renamed from HID Utilities Source/HID_CFM.c)0
-rw-r--r--HID_Utilities_Source/HID_Config_Utilities.c (renamed from HID Utilities Source/HID_Config_Utilities.c)0
-rw-r--r--HID_Utilities_Source/HID_Config_Utilities.h (renamed from HID Utilities Source/HID_Config_Utilities.h)0
-rw-r--r--HID_Utilities_Source/HID_Error_Handler.c (renamed from HID Utilities Source/HID_Error_Handler.c)0
-rw-r--r--HID_Utilities_Source/HID_Error_Handler.h (renamed from HID Utilities Source/HID_Error_Handler.h)0
-rw-r--r--HID_Utilities_Source/HID_Name_Lookup.c (renamed from HID Utilities Source/HID_Name_Lookup.c)0
-rw-r--r--HID_Utilities_Source/HID_Name_Lookup.h (renamed from HID Utilities Source/HID_Name_Lookup.h)0
-rw-r--r--HID_Utilities_Source/HID_Queue_Utilities.c (renamed from HID Utilities Source/HID_Queue_Utilities.c)0
-rw-r--r--HID_Utilities_Source/HID_Queue_Utilities.h (renamed from HID Utilities Source/HID_Queue_Utilities.h)0
-rw-r--r--HID_Utilities_Source/HID_Transaction_Utilities.c (renamed from HID Utilities Source/HID_Transaction_Utilities.c)0
-rw-r--r--HID_Utilities_Source/HID_Transaction_Utilities.h (renamed from HID Utilities Source/HID_Transaction_Utilities.h)0
-rw-r--r--HID_Utilities_Source/HID_Utilities.c (renamed from HID Utilities Source/HID_Utilities.c)0
-rw-r--r--HID_Utilities_Source/HID_Utilities.h (renamed from HID Utilities Source/HID_Utilities.h)0
-rw-r--r--HID_Utilities_Source/HID_Utilities_CFM.h (renamed from HID Utilities Source/HID_Utilities_CFM.h)0
-rw-r--r--HID_Utilities_Source/HID_Utilities_External.h (renamed from HID Utilities Source/HID_Utilities_External.h)0
-rw-r--r--HID_Utilities_Source/HID_Utilities_Internal.h (renamed from HID Utilities Source/HID_Utilities_Internal.h)0
-rw-r--r--HID_Utilities_Source/IOHIDPowerUsage.h (renamed from HID Utilities Source/IOHIDPowerUsage.h)0
-rw-r--r--HID_Utilities_Source/ImmrHIDUtilAddOn.c (renamed from HID Utilities Source/ImmrHIDUtilAddOn.c)0
-rw-r--r--HID_Utilities_Source/ImmrHIDUtilAddOn.h (renamed from HID Utilities Source/ImmrHIDUtilAddOn.h)0
-rw-r--r--HID_Utilities_Source/Makefile.am29
-rw-r--r--HID_Utilities_Source/PID.h (renamed from HID Utilities Source/PID.h)0
-rw-r--r--Makefile38
-rw-r--r--Makefile.am39
-rwxr-xr-xautogen.sh16
-rw-r--r--configure.ac89
32 files changed, 173 insertions, 1712 deletions
diff --git a/HID Utilities Source/English.lproj/HID_cookie_strings.plist b/HID Utilities Source/English.lproj/HID_cookie_strings.plist
deleted file mode 100755
index ad0568d..0000000
--- a/HID Utilities Source/English.lproj/HID_cookie_strings.plist
+++ /dev/null
@@ -1,128 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
-<plist version="0.9">
-<dict>
- <key>1118</key>
- <dict>
- <key>Name</key> <string>Microsoft</string>
- <key>27</key>
- <dict>
- <key>Name</key> <string>SideWinder FFB 2 Joystick</string>
- <key>27</key> <string>Button 1 [Trigger]</string>
- <key>28</key> <string>Button 2</string>
- <key>29</key> <string>Button 3</string>
- <key>30</key> <string>Button 4</string>
- <key>31</key> <string>Button 5</string>
- <key>32</key> <string>Button 6</string>
- <key>33</key> <string>Button 7</string>
- <key>34</key> <string>Button 8</string>
- <key>89</key> <string>X-Axis</string>
- <key>90</key> <string>Y-Axis</string>
- <key>91</key> <string>Rz-Axis</string>
- <key>92</key> <string>Throttle</string>
- <key>93</key> <string>Hat Switch</string>
- </dict>
- </dict>
- <key>1133</key>
- <dict>
- <key>Name</key> <string>Logitech</string>
- <key>49797</key>
- <dict>
- <key>Name</key> <string>WingMan Strike Force 3D</string>
- <key>5</key> <string>Button 1 [Trigger]</string>
- <key>6</key> <string>Button 2</string>
- <key>7</key> <string>Button 3</string>
- <key>8</key> <string>Button 4</string>
- <key>9</key> <string>Button 5</string>
- <key>10</key> <string>Button 6</string>
- <key>11</key> <string>Button 7</string>
- <key>16</key> <string>Hat Switch 2</string>
- <key>24</key> <string>X-Axis</string>
- <key>25</key> <string>Y-Axis</string>
- <key>26</key> <string>Hat Switch 1</string>
- <key>27</key> <string>Rz-Axis</string>
- <key>28</key> <string>Throttle</string>
- <key>29</key> <string>Button 9</string>
- <key>30</key> <string>Button 8</string>
- </dict>
- </dict>
- <key>1635</key>
- <dict>
- <key>Name</key> <string>Macsense</string>
- <key>38916</key>
- <dict>
- <key>Name</key> <string>FunPad F-107</string>
- <key>3</key> <string>Button 1</string>
- <key>4</key> <string>Button 2</string>
- <key>5</key> <string>Button 3</string>
- <key>6</key> <string>Button 4</string>
- <key>7</key> <string>L1 Trigger</string>
- <key>8</key> <string>R1 Trigger</string>
- <key>9</key> <string>L2 Trigger</string>
- <key>10</key> <string>R2 Trigger</string>
- <key>11</key> <string>Right Stick X-Axis</string>
- <key>12</key> <string>Right Stick Y-Axis</string>
- <key>13</key> <string>Left Stick X-Axis</string>
- <key>14</key> <string>Left Stick Y-Axis</string>
- <key>15</key> <string>Hat Switch</string>
- </dict>
- </dict>
- <key>8738</key>
- <dict>
- <key>Name</key> <string>Macally</string>
- <key>16400</key>
- <dict>
- <key>Name</key> <string>iShock</string>
- <key>3</key> <string>D-Pad Up</string>
- <key>4</key> <string>D-Pad Down</string>
- <key>5</key> <string>D-Pad Left</string>
- <key>6</key> <string>D-Pad Right</string>
- <key>7</key> <string>Up Button</string>
- <key>8</key> <string>Right Button</string>
- <key>9</key> <string>Down Button</string>
- <key>10</key> <string>Left Button</string>
- <key>11</key> <string>C Button</string>
- <key>12</key> <string>B Button [Select]</string>
- <key>13</key> <string>A Button [Start]</string>
- <key>14</key> <string>F Button</string>
- <key>15</key> <string>R1 Trigger</string>
- <key>16</key> <string>R2 Trigger</string>
- <key>17</key> <string>L1 Trigger</string>
- <key>18</key> <string>L2 Trigger</string>
- <key>19</key> <string>Left Stick Button</string>
- <key>20</key> <string>Right Stick Button</string>
- <key>21</key> <string>D Button</string>
- <key>22</key> <string>E Button</string>
- <key>23</key> <string>Left Stick X-Axis</string>
- <key>24</key> <string>Left Stick Y-Axis</string>
- <key>25</key> <string>Right Stick X-Axis</string>
- <key>26</key> <string>Right Stick Y-Axis</string>
- </dict>
- <key>16416</key>
- <dict>
- <key>Name</key> <string>iShock II FFB Game Controler</string>
- <key>3</key> <string>D-Pad Up</string>
- <key>4</key> <string>D-Pad Down</string>
- <key>5</key> <string>D-Pad Left</string>
- <key>6</key> <string>D-Pad Right</string>
- <key>7</key> <string>A Button</string>
- <key>8</key> <string>B Button</string>
- <key>9</key> <string>C Button</string>
- <key>10</key> <string>D Button</string>
- <key>11</key> <string>Button 1</string>
- <key>12</key> <string>Button 2 [Select]</string>
- <key>13</key> <string>Button 3 [Start]</string>
- <key>14</key> <string>R1 Button</string>
- <key>15</key> <string>R2 Trigger</string>
- <key>16</key> <string>L1 Trigger</string>
- <key>17</key> <string>L2 Trigger</string>
- <key>18</key> <string>Left Stick Button</string>
- <key>19</key> <string>Right Stick Button</string>
- <key>20</key> <string>Left Stick X-Axis</string>
- <key>21</key> <string>Left Stick Y-Axis</string>
- <key>22</key> <string>Right Stick X-Axis</string>
- <key>23</key> <string>Right Stick Y-Axis</string>
- </dict>
- </dict>
-</dict>
-</plist>
diff --git a/HID Utilities Source/English.lproj/HID_device_usage_strings.plist b/HID Utilities Source/English.lproj/HID_device_usage_strings.plist
deleted file mode 100755
index f0b4375..0000000
--- a/HID Utilities Source/English.lproj/HID_device_usage_strings.plist
+++ /dev/null
@@ -1,633 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
-<plist version="0.9">
-<dict>
- <key>1452</key>
- <dict>
- <key>516</key>
- <dict>
- <key>1:6</key>
- <string>Keyboard</string>
- <key>Name</key>
- <string>Apple Extended USB Keyboard</string>
- </dict>
- <key>770</key>
- <dict>
- <key>1:1</key>
- <string>Pointer</string>
- <key>1:2</key>
- <string>Mouse</string>
- <key>1:48</key>
- <string>X-Axis</string>
- <key>1:49</key>
- <string>Y-Axis</string>
- <key>9:1</key>
- <string>Button</string>
- <key>Name</key>
- <string>Apple Optical USB Mouse</string>
- </dict>
- <key>Name</key>
- <string>Mitsumi Electric</string>
- </dict>
- <key>1118</key>
- <dict>
- <key>7</key>
- <dict>
- <key>1:48</key>
- <string>X-Axis</string>
- <key>1:49</key>
- <string>Y-Axis</string>
- <key>9:1</key>
- <string>Button A</string>
- <key>9:2</key>
- <string>Button B</string>
- <key>9:3</key>
- <string>Button C</string>
- <key>9:4</key>
- <string>Button X</string>
- <key>9:5</key>
- <string>Button Y</string>
- <key>9:6</key>
- <string>Button Z</string>
- <key>9:7</key>
- <string>Left Trigger</string>
- <key>9:8</key>
- <string>Right Trigger</string>
- <key>9:9</key>
- <string>Secondary Option 2</string>
- <key>9:10</key>
- <string>Secondary Option 1</string>
- <key>Name</key>
- <string>SideWinder Game Pad USB</string>
- </dict>
- <key>26</key>
- <dict>
- <key>1:48</key>
- <string>Wheel</string>
- <key>1:49</key>
- <string>Left Pedal [Brake]</string>
- <key>1:50</key>
- <string>Right Pedal [Gas]</string>
- <key>9:1</key>
- <string>Button A</string>
- <key>9:2</key>
- <string>Button B</string>
- <key>9:3</key>
- <string>Button C</string>
- <key>9:4</key>
- <string>Button X</string>
- <key>9:5</key>
- <string>Button Y</string>
- <key>9:6</key>
- <string>Button Z</string>
- <key>9:7</key>
- <string>Left Trigger</string>
- <key>9:8</key>
- <string>Right Trigger</string>
- <key>Name</key>
- <string>SideWinder Precision Racing Wheel USB v1.0</string>
- </dict>
- <key>27</key>
- <dict>
- <key>1:48</key>
- <string>X-Axis</string>
- <key>1:49</key>
- <string>Y-Axis</string>
- <key>1:53</key>
- <string>Rz-Axis</string>
- <key>1:54</key>
- <string>Throttle</string>
- <key>1:57</key>
- <string>Hat Switch</string>
- <key>9:1</key>
- <string>Button 1 [Trigger]</string>
- <key>9:2</key>
- <string>Button 2</string>
- <key>9:3</key>
- <string>Button 3</string>
- <key>9:4</key>
- <string>Button 4</string>
- <key>9:5</key>
- <string>Button 5</string>
- <key>9:6</key>
- <string>Button 6</string>
- <key>9:7</key>
- <string>Button 7</string>
- <key>9:8</key>
- <string>Button 8</string>
- <key>Name</key>
- <string>SideWinder FFB 2 Joystick</string>
- </dict>
- <key>39</key>
- <dict>
- <key>1:48</key>
- <string>X-Axis</string>
- <key>1:49</key>
- <string>Y-Axis</string>
- <key>9:1</key>
- <string>Button 1</string>
- <key>9:2</key>
- <string>Button 2</string>
- <key>9:3</key>
- <string>Button 3</string>
- <key>9:4</key>
- <string>Button 4</string>
- <key>9:5</key>
- <string>Button 5</string>
- <key>9:6</key>
- <string>Button 6</string>
- <key>Name</key>
- <string>SideWinder Plug and Play Game Pad</string>
- </dict>
- <key>56</key>
- <dict>
- <key>1:48</key>
- <string>X-Axis</string>
- <key>1:49</key>
- <string>Y-Axis</string>
- <key>1:53</key>
- <string>Rz-Axis</string>
- <key>1:54</key>
- <string>Throttle</string>
- <key>1:57</key>
- <string>Hat Switch</string>
- <key>9:1</key>
- <string>Button 1 [Trigger]</string>
- <key>9:2</key>
- <string>Button 2</string>
- <key>9:3</key>
- <string>Button 3</string>
- <key>9:4</key>
- <string>Button 4</string>
- <key>9:5</key>
- <string>Button 5</string>
- <key>9:6</key>
- <string>Button 6</string>
- <key>9:7</key>
- <string>Button 7</string>
- <key>9:8</key>
- <string>Button 8</string>
- <key>Name</key>
- <string>SideWinder Precision 2 Joystick</string>
- </dict>
- <key>60</key>
- <dict>
- <key>1:48</key>
- <string>X-Axis</string>
- <key>1:49</key>
- <string>Y-Axis</string>
- <key>1:54</key>
- <string>Throttle</string>
- <key>9:1</key>
- <string>Button 1 [Trigger]</string>
- <key>9:2</key>
- <string>Button 2</string>
- <key>9:3</key>
- <string>Button 3</string>
- <key>9:4</key>
- <string>Button 4</string>
- <key>9:5</key>
- <string>Button 5</string>
- <key>9:6</key>
- <string>Button 6</string>
- <key>9:7</key>
- <string>Button 7</string>
- <key>9:8</key>
- <string>Button 8</string>
- <key>Name</key>
- <string>SideWinder Joystick</string>
- </dict>
- <key>Name</key>
- <string>Microsoft</string>
- </dict>
- <key>1133</key>
- <dict>
- <key>49200</key>
- <dict>
- <key>1:1</key>
- <string>Pointer</string>
- <key>1:2</key>
- <string>Mouse</string>
- <key>1:48</key>
- <string>X-Axis</string>
- <key>1:49</key>
- <string>Y-Axis</string>
- <key>1:56</key>
- <string>Wheel</string>
- <key>9:1</key>
- <string>Left Button</string>
- <key>9:2</key>
- <string>Right Button</string>
- <key>9:3</key>
- <string>Middle Button</string>
- <key>Name</key>
- <string>iFeel Mouse</string>
- </dict>
- <key>49671</key>
- <dict>
- <key>1:48</key>
- <string>X-Axis</string>
- <key>1:49</key>
- <string>Y-Axis</string>
- <key>1:53</key>
- <string>Rz-Axis</string>
- <key>1:54</key>
- <string>Throttle</string>
- <key>1:57</key>
- <string>Hat Switch</string>
- <key>9:1</key>
- <string>Button 1 [Trigger]</string>
- <key>9:2</key>
- <string>Button 2</string>
- <key>9:3</key>
- <string>Button 3</string>
- <key>9:4</key>
- <string>Button 4</string>
- <key>9:5</key>
- <string>Button 5</string>
- <key>9:6</key>
- <string>Button 6</string>
- <key>9:7</key>
- <string>Button 7</string>
- <key>Name</key>
- <string>WingMan Extreme Digital 3D</string>
- </dict>
- <key>49797</key>
- <dict>
- <key>1:48</key>
- <string>X-Axis</string>
- <key>1:49</key>
- <string>Y-Axis</string>
- <key>1:53</key>
- <string>Rz-Axis</string>
- <key>1:54</key>
- <string>Throttle</string>
- <key>1:57</key>
- <string>Hat Switch 1</string>
- <key>65280:2</key>
- <string>Thumb Wheel</string>
- <key>9:1</key>
- <string>Button 1 [Trigger]</string>
- <key>9:10</key>
- <string>Hat Switch 2 - Up</string>
- <key>9:11</key>
- <string>Hat Switch 2 - Right</string>
- <key>9:12</key>
- <string>Hat Switch 2 - Down</string>
- <key>9:13</key>
- <string>Hat Switch 2 - Left</string>
- <key>9:14</key>
- <string>Hat Switch 2 - Up Right</string>
- <key>9:15</key>
- <string>Hat Switch 2 - Down Right</string>
- <key>9:16</key>
- <string>Hat Switch 2 - Down Left</string>
- <key>9:17</key>
- <string>Hat Switch 2 - Up Left</string>
- <key>9:2</key>
- <string>Button 2</string>
- <key>9:3</key>
- <string>Button 3</string>
- <key>9:4</key>
- <string>Button 4</string>
- <key>9:5</key>
- <string>Button 5</string>
- <key>9:6</key>
- <string>Button 6</string>
- <key>9:7</key>
- <string>Button 7</string>
- <key>9:8</key>
- <string>Button 8</string>
- <key>9:9</key>
- <string>Button 9</string>
- <key>Name</key>
- <string>WingMan Strike Force 3D</string>
- </dict>
- <key>49811</key>
- <dict>
- <key>1:48</key>
- <string>Wheel</string>
- <key>1:49</key>
- <string>Pedals</string>
- <key>9:1</key>
- <string>Button 1</string>
- <key>9:2</key>
- <string>Button 2</string>
- <key>9:3</key>
- <string>Button 3</string>
- <key>9:4</key>
- <string>Button 4</string>
- <key>9:5</key>
- <string>Button 5</string>
- <key>9:6</key>
- <string>Button 6</string>
- <key>65280:1</key>
- <string>Left Pedal [Brake]</string>
- <key>Name</key>
- <string>WingMan Formula Force GP</string>
- </dict>
- <key>50433</key>
- <dict>
- <key>1:48</key>
- <string>X-Axis</string>
- <key>1:49</key>
- <string>Y-Axis</string>
- <key>1:56</key>
- <string>Wheel</string>
- <key>9:1</key>
- <string>Left Button</string>
- <key>9:2</key>
- <string>Right Button</string>
- <key>9:3</key>
- <string>Middle Button</string>
- <key>Name</key>
- <string>Cordless Mouse</string>
- </dict>
- <key>Name</key>
- <string>Logitech</string>
- </dict>
- <key>1293</key>
- <dict>
- <key>2051</key>
- <dict>
- <key>1:48</key>
- <string>Left Stick X-Axis</string>
- <key>1:49</key>
- <string>Left Stick Y-Axis</string>
- <key>1:50</key>
- <string>Right Stick Y-Axis</string>
- <key>1:53</key>
- <string>Right Stick X-Axis</string>
- <key>1:57</key>
- <string>Direction Pad</string>
- <key>9:1</key>
- <string>Button 1</string>
- <key>9:2</key>
- <string>Button 2</string>
- <key>9:3</key>
- <string>Button 3</string>
- <key>9:4</key>
- <string>Button 4</string>
- <key>9:5</key>
- <string>Left Top Trigger</string>
- <key>9:6</key>
- <string>Left Bottom Trigger</string>
- <key>9:7</key>
- <string>Right Top Trigger</string>
- <key>9:8</key>
- <string>Right Bottom Trigger</string>
- <key>9:9</key>
- <string>ESC</string>
- <key>9:10</key>
- <string>Mouse</string>
- <key>9:11</key>
- <string>Eater</string>
- <key>9:12</key>
- <string>Right Stick Button</string>
- <key>9:13</key>
- <string>Left Stick Button</string>
- <key>Name</key>
- <string>Nostromo n45</string>
- </dict>
- <key>Name</key>
- <string>Belkin</string>
- </dict>
- <key>1635</key>
- <dict>
- <key>38916</key>
- <dict>
- <key>1:48</key>
- <string>Left Stick X-Axis</string>
- <key>1:49</key>
- <string>Left Stick Y-Axis</string>
- <key>1:57</key>
- <string>Hat Switch</string>
- <key>2:186</key>
- <string>Right Stick X-Axis</string>
- <key>2:187</key>
- <string>Right Stick Y-Axis</string>
- <key>9:1</key>
- <string>Button 1</string>
- <key>9:2</key>
- <string>Button 2</string>
- <key>9:3</key>
- <string>Button 3</string>
- <key>9:4</key>
- <string>Button 4</string>
- <key>9:5</key>
- <string>L1 Trigger</string>
- <key>9:6</key>
- <string>R1 Trigger</string>
- <key>9:7</key>
- <string>L2 Trigger</string>
- <key>9:8</key>
- <string>R2 Trigger</string>
- <key>Name</key>
- <string>FunPad F-107</string>
- </dict>
- <key>Name</key>
- <string>Macsense</string>
- </dict>
- <key>8738</key>
- <dict>
- <key>16400</key>
- <dict>
- <key>9:1</key>
- <string>D-Pad Up</string>
- <key>9:2</key>
- <string>D-Pad Down</string>
- <key>9:3</key>
- <string>D-Pad Left</string>
- <key>9:4</key>
- <string>D-Pad Right</string>
- <key>9:5</key>
- <string>Button 5 (Triangle)</string>
- <key>9:6</key>
- <string>Button 6 (Circle)</string>
- <key>9:7</key>
- <string>Button 7 (Cross)</string>
- <key>9:8</key>
- <string>Button 8 (Square)</string>
- <key>9:9</key>
- <string>Button C</string>
- <key>9:10</key>
- <string>Button B [Select]</string>
- <key>9:11</key>
- <string>Button A [Start]</string>
- <key>9:12</key>
- <string>Button F</string>
- <key>9:13</key>
- <string>R1 Trigger</string>
- <key>9:14</key>
- <string>R2 Trigger</string>
- <key>9:15</key>
- <string>L1 Trigger</string>
- <key>9:16</key>
- <string>L2 Trigger</string>
- <key>9:17</key>
- <string>Left Stick Button</string>
- <key>9:18</key>
- <string>Right Stick Button</string>
- <key>9:19</key>
- <string>D Button</string>
- <key>9:20</key>
- <string>E Button</string>
- <key>1:48</key>
- <string>Left Stick X-Axis</string>
- <key>1:49</key>
- <string>Left Stick Y-Axis</string>
- <key>1:53</key>
- <string>Right Stick X-Axis</string>
- <key>1:54</key>
- <string>Right Stick Y-Axis</string>
- <key>Name</key>
- <string>iShock</string>
- </dict>
- <key>16416</key>
- <dict>
- <key>1:1</key>
- <string>Pointer</string>
- <key>1:5</key>
- <string>GamePad</string>
- <key>1:48</key>
- <string>Left Stick X-Axis</string>
- <key>1:49</key>
- <string>Left Stick Y-Axis</string>
- <key>1:53</key>
- <string>Right Stick X-Axis</string>
- <key>1:54</key>
- <string>Right Stick Y-Axis</string>
- <key>9:1</key>
- <string>D-Pad Up</string>
- <key>9:10</key>
- <string>Button 2 [Select]</string>
- <key>9:11</key>
- <string>Button 3 [Start]</string>
- <key>9:12</key>
- <string>R1 Button</string>
- <key>9:13</key>
- <string>R2 Trigger</string>
- <key>9:14</key>
- <string>L1 Trigger</string>
- <key>9:15</key>
- <string>L2 Trigger</string>
- <key>9:16</key>
- <string>Left Stick Button</string>
- <key>9:17</key>
- <string>Right Stick Button</string>
- <key>9:2</key>
- <string>D-Pad Down</string>
- <key>9:3</key>
- <string>D-Pad Left</string>
- <key>9:4</key>
- <string>D-Pad Right</string>
- <key>9:5</key>
- <string>A Button</string>
- <key>9:6</key>
- <string>B Button</string>
- <key>9:7</key>
- <string>C Button</string>
- <key>9:8</key>
- <string>D Button</string>
- <key>9:9</key>
- <string>Button 1</string>
- <key>Name</key>
- <string>iShock II FFB Game Controler</string>
- </dict>
- <key>Name</key>
- <string>Macally</string>
- </dict>
- <key>1699</key>
- <dict>
- <key>65284</key>
- <dict>
- <key>1:48</key>
- <string>Wheel</string>
- <key>1:49</key>
- <string>Left Pedal [Brake]</string>
- <key>1:50</key>
- <string>Right Pedal [Gas]</string>
- <key>9:1</key>
- <string>Top Left Thumb</string>
- <key>9:2</key>
- <string>Top Right Thumb</string>
- <key>9:3</key>
- <string>Bottom Left Thumb</string>
- <key>9:4</key>
- <string>Bottom Right Thumb</string>
- <key>9:5</key>
- <string>Right Horn</string>
- <key>9:6</key>
- <string>Left Horn</string>
- <key>Name</key>
- <string>R440 Force Feedback</string>
- </dict>
- <key>Name</key>
- <string>Saitek</string>
- </dict>
- <key>1973</key>
- <dict>
- <key>39169</key>
- <dict>
- <key>1:48</key>
- <string>X-Axis</string>
- <key>1:49</key>
- <string>Y-Axis</string>
- <key>1:54</key>
- <string>Throttle</string>
- <key>1:57</key>
- <string>Hat Switch</string>
- <key>9:1</key>
- <string>Button 1 [Trigger]</string>
- <key>9:2</key>
- <string>Button 2</string>
- <key>9:3</key>
- <string>Button 3</string>
- <key>9:4</key>
- <string>Button 4</string>
- <key>Name</key>
- <string>X8-33GU 2 IN 1 Joystick</string>
- </dict>
- <key>Name</key>
- <string>Saitek</string>
- </dict>
- <key>1149</key>
- <dict>
- <key>12293</key>
- <dict>
- <key>1:48</key>
- <string>X-Axis</string>
- <key>1:49</key>
- <string>Y-Axis</string>
- <key>1:50</key>
- <string>Throttle</string>
- <key>1:57</key>
- <string>Hat Switch</string>
- <key>9:1</key>
- <string>Button 1 [Trigger]</string>
- <key>9:2</key>
- <string>Button 2</string>
- <key>9:3</key>
- <string>Button 3</string>
- <key>9:4</key>
- <string>Button 4</string>
- <key>9:5</key>
- <string>Button 5</string>
- <key>9:6</key>
- <string>Button 6 [Thumb Wheel Button]</string>
- <key>9:7</key>
- <string>Button 7</string>
- <key>9:8</key>
- <string>Button 8</string>
- <key>9:9</key>
- <string>Button 9 [Thumb Wheel Left]</string>
- <key>9:10</key>
- <string>Button 10 [Thumb Wheel Right]</string>
- <key>Name</key>
- <string>Eliminator Precision Pro Joystick</string>
- </dict>
- <key>Name</key>
- <string>Gravis</string>
- </dict>
-</dict>
-</plist>
diff --git a/HID Utilities Source/English.lproj/HID_usage_strings.plist b/HID Utilities Source/English.lproj/HID_usage_strings.plist
deleted file mode 100755
index cd068bf..0000000
--- a/HID Utilities Source/English.lproj/HID_usage_strings.plist
+++ /dev/null
@@ -1,200 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE plist SYSTEM "file://localhost/System/Library/DTDs/PropertyList.dtd">
-<plist version="0.9">
-<dict>
- <key>0x0001</key>
- <dict>
- <key>Name</key> <string>Generic Desktop</string>
- <key>0x0001</key> <string>Pointer</string>
- <key>0x0002</key> <string>Mouse</string>
- <key>0x0004</key> <string>Joystick</string>
- <key>0x0005</key> <string>GamePad</string>
- <key>0x0006</key> <string>Keyboard</string>
- <key>0x0007</key> <string>Keypad</string>
- <key>0x0008</key> <string>MultiAxisController</string>
- <key>0x0030</key> <string>X</string>
- <key>0x0031</key> <string>Y</string>
- <key>0x0032</key> <string>Z</string>
- <key>0x0033</key> <string>Rx</string>
- <key>0x0034</key> <string>Ry</string>
- <key>0x0035</key> <string>Rz</string>
- <key>0x0036</key> <string>Slider</string>
- <key>0x0037</key> <string>Dial</string>
- <key>0x0038</key> <string>Wheel</string>
- <key>0x0039</key> <string>Hatswitch</string>
- <key>0x003A</key> <string>Counted Buffer</string>
- <key>0x003B</key> <string>Byte Count</string>
- <key>0x003C</key> <string>Motion Wakeup</string>
- <key>0x003D</key> <string>Start</string>
- <key>0x003E</key> <string>Select</string>
- <key>0x0040</key> <string>Vx</string>
- <key>0x0041</key> <string>Vy</string>
- <key>0x0042</key> <string>Vz</string>
- <key>0x0043</key> <string>Vbrx</string>
- <key>0x0044</key> <string>Vbry</string>
- <key>0x0045</key> <string>Vbrz</string>
- <key>0x0046</key> <string>Vno</string>
- <key>0x0080</key> <string>System Control</string>
- <key>0x0081</key> <string>System Power Down</string>
- <key>0x0082</key> <string>System Sleep</string>
- <key>0x0083</key> <string>System Wake Up</string>
- <key>0x0084</key> <string>SystemContext Menu</string>
- <key>0x0085</key> <string>System Main Menu</string>
- <key>0x0086</key> <string>System App Menu</string>
- <key>0x0087</key> <string>System Menu help</string>
- <key>0x0088</key> <string>System Menu Exit</string>
- <key>0x0089</key> <string>System Menu</string>
- <key>0x008A</key> <string>System Menu Right</string>
- <key>0x008B</key> <string>System Menu Left</string>
- <key>0x008C</key> <string>System Menu Up</string>
- <key>0x008D</key> <string>System Menu Down</string>
- <key>0x0090</key> <string>DPad Up</string>
- <key>0x0091</key> <string>DPad Down</string>
- <key>0x0092</key> <string>DPad Right</string>
- <key>0x0093</key> <string>DPad Left</string>
- </dict>
- <key>0x0002</key>
- <dict>
- <key>Name</key> <string>Simulation</string>
- <key>0x0001</key> <string>Flight Simulation Device</string>
- <key>0x0002</key> <string>Automobile Simulation Device</string>
- <key>0x0003</key> <string>Tank Simulation Device</string>
- <key>0x0004</key> <string>Spaceship Simulation Device</string>
- <key>0x0005</key> <string>Submarine Simulation Device</string>
- <key>0x0006</key> <string>Sailing Simulation Device</string>
- <key>0x0007</key> <string>Motorcycle Simulation Device</string>
- <key>0x0008</key> <string>Sports Simulation Device</string>
- <key>0x0009</key> <string>Airplane Simulation Device</string>
- <key>0x000A</key> <string>Helicopter Simulation Device</string>
- <key>0x000B</key> <string>Magic Carpet Simulation Device</string>
- <key>0x000C</key> <string>Bicycle Simulation Device</string>
- <key>0x0020</key> <string>Flight Control Stick</string>
- <key>0x0021</key> <string>Flight Stick</string>
- <key>0x0022</key> <string>Cyclic Control</string>
- <key>0x0023</key> <string>Cyclic Trim</string>
- <key>0x0024</key> <string>Flight Yoke</string>
- <key>0x0025</key> <string>Track Control</string>
- <key>0x00B0</key> <string>Aileron</string>
- <key>0x00B1</key> <string>Aileron Trim</string>
- <key>0x00B2</key> <string>Anti Torque Control</string>
- <key>0x00B5</key> <string>Collective Control</string>
- <key>0x00B6</key> <string>Dive Brake</string>
- <key>0x00B7</key> <string>Electronic Countermeasures</string>
- <key>0x00B8</key> <string>Elevator</string>
- <key>0x00B9</key> <string>Elevator Trim</string>
- <key>0x00BA</key> <string>Rudder</string>
- <key>0x00BB</key> <string>Throttle</string>
- <key>0x00BC</key> <string>Flight Communications</string>
- <key>0x00BD</key> <string>Flare Release</string>
- <key>0x00BE</key> <string>Landing Gear</string>
- <key>0x00BF</key> <string>Toe Brake</string>
- <key>0x00C0</key> <string>Trigger</string>
- <key>0x00C1</key> <string>Weapons Arm</string>
- <key>0x00C2</key> <string>Weapons</string>
- <key>0x00C3</key> <string>Wing Flaps</string>
- <key>0x00C4</key> <string>Accelerator</string>
- <key>0x00C5</key> <string>Brake</string>
- <key>0x00C6</key> <string>Clutch</string>
- <key>0x00C7</key> <string>Shifter</string>
- <key>0x00C8</key> <string>Steering</string>
- <key>0x00C9</key> <string>Turret Direction</string>
- <key>0x00CA</key> <string>Barrel Elevation</string>
- <key>0x00CB</key> <string>Dive Plane</string>
- <key>0x00CC</key> <string>Ballast</string>
- <key>0x00CD</key> <string>Bicycle Crank</string>
- <key>0x00CE</key> <string>Handle Bars</string>
- <key>0x00CF</key> <string>Front Brake</string>
- <key>0x00D0</key> <string>Rear Brake</string>
- </dict>
- <key>0x0003</key>
- <dict>
- <key>Name</key> <string>Virtual Reality</string>
- <key>0x0001</key> <string>Belt</string>
- <key>0x0002</key> <string>Body Suit</string>
- <key>0x0003</key> <string>Flexor</string>
- <key>0x0004</key> <string>Glove</string>
- <key>0x0005</key> <string>Head Tracker</string>
- <key>0x0006</key> <string>Head Mounted Display</string>
- <key>0x0007</key> <string>Hand Tracker</string>
- <key>0x0008</key> <string>Oculometer</string>
- <key>0x0009</key> <string>Vest</string>
- <key>0x000A</key> <string>Animatronic Device</string>
- <key>0x0020</key> <string>Stereo Enable</string>
- <key>0x0021</key> <string>Display Enable</string>
- </dict>
- <key>0x0004</key>
- <dict>
- <key>Name</key> <string>Sport</string>
- <key>0x0001</key> <string>Baseball Bat</string>
- <key>0x0002</key> <string>Golf Club</string>
- <key>0x0003</key> <string>Rowing Machine</string>
- <key>0x0004</key> <string>Treadmill</string>
-
- <key>0x0030</key> <string>Oar</string>
- <key>0x0031</key> <string>Slope</string>
- <key>0x0032</key> <string>Rate</string>
- <key>0x0033</key> <string>Stick Speed</string>
- <key>0x0034</key> <string>Stick Face Angle</string>
- <key>0x0035</key> <string>Stick Heel Or Toe</string>
- <key>0x0036</key> <string>Stick Follow Through</string>
- <key>0x0037</key> <string>Stick Tempo</string>
- <key>0x0038</key> <string>Stick Type</string>
- <key>0x0039</key> <string>Stick Height</string>
-
- <key>0x0050</key> <string>Putter</string>
- <key>0x0051</key> <string>1 Iron</string>
- <key>0x0052</key> <string>2 Iron</string>
- <key>0x0053</key> <string>3 Iron</string>
- <key>0x0054</key> <string>4 Iron</string>
- <key>0x0055</key> <string>5 Iron</string>
- <key>0x0056</key> <string>6 Iron</string>
- <key>0x0057</key> <string>7 Iron</string>
- <key>0x0058</key> <string>8 Iron</string>
- <key>0x0059</key> <string>9 Iron</string>
- <key>0x005A</key> <string>10 Iron</string>
- <key>0x005B</key> <string>11 Iron</string>
- <key>0x005C</key> <string>Sand Wedge</string>
- <key>0x005D</key> <string>Loft Wedge</string>
- <key>0x005E</key> <string>Power Wedge</string>
- <key>0x005F</key> <string>1 Wood</string>
- <key>0x0060</key> <string>3 Wood</string>
- <key>0x0061</key> <string>5 Wood</string>
- <key>0x0062</key> <string>7 Wood</string>
- <key>0x0063</key> <string>9 Wood</string>
- </dict>
- <key>0x0005</key>
- <dict>
- <key>Name</key> <string>Game</string>
- <key>0x0001</key> <string>3D Game Controller</string>
- <key>0x0002</key> <string>Pinball Device</string>
- <key>0x0003</key> <string>Gun</string>
-
- <key>0x0020</key> <string>Point of View</string>
- <key>0x0021</key> <string>Turn Right Or Left</string>
- <key>0x0022</key> <string>Pitch Up Or Down</string>
- <key>0x0023</key> <string>Roll Right Or Left</string>
- <key>0x0024</key> <string>Move Right Or Left</string>
- <key>0x0025</key> <string>Move Forward Or Backward</string>
- <key>0x0026</key> <string>Move Up Or Down</string>
- <key>0x0027</key> <string>Lean Right Or Left</string>
- <key>0x0029</key> <string>Lean Forward Or Backward</string>
- <key>0x0029</key> <string>Height Of POV</string>
- <key>0x002A</key> <string>Flipper</string>
- <key>0x002B</key> <string>Secondary Flipper</string>
- <key>0x002C</key> <string>Bump</string>
- <key>0x002D</key> <string>New Game</string>
- <key>0x002E</key> <string>Shoot Ball</string>
- <key>0x002F</key> <string>Player</string>
-
- <key>0x0030</key> <string>Gun Bolt</string>
- <key>0x0031</key> <string>Gun Clip</string>
- <key>0x0032</key> <string>Gun</string>
- <key>0x0033</key> <string>Gun Single Shot</string>
- <key>0x0034</key> <string>Gun Burst</string>
- <key>0x0035</key> <string>Gun Automatic</string>
- <key>0x0036</key> <string>Gun Safety</string>
- <key>0x0037</key> <string>Gamepad Fire Or Jump</string>
- <key>0x0039</key> <string>Gamepad Trigger</string>
- </dict>
-</dict>
-</plist>
diff --git a/HID Utilities Source/HID Utilities Read Me.rtf b/HID Utilities Source/HID Utilities Read Me.rtf
deleted file mode 100755
index 022748c..0000000
--- a/HID Utilities Source/HID Utilities Read Me.rtf
+++ /dev/null
@@ -1,331 +0,0 @@
-{\rtf1\mac\ansicpg10000\cocoartf102
-{\fonttbl\f0\fswiss\fcharset77 Helvetica;}
-{\colortbl;\red255\green255\blue255;}
-\vieww17000\viewh11120\viewkind0
-\pard\tx560\tx1120\tx1680\tx2240\tx2800\tx3360\tx3920\tx4480\tx5040\tx5600\tx6160\tx6720\ql\qnatural
-
-\f0\fs22 \cf0 HID Utilities Source\
-Human Interface Device Manager Utility Functions\
-\
-Version 3.7 28 Oct 2K2\
- General cleanup for web posting.\
-\
-Version 3.6 23 Oct 2K2\
- Added new API's: HIDSetElementValue, HIDSetQueueCallback, HIDGetReport, HIDSetReport & HIDPrintElement,\
- Note: <IOHIDPowerUsage.h> & <PID.h> have been incorporated into <IOKit/hid/IOHIDUsageTables.h>.\
-\
-Version 3.5 10 Aug 2K2\
- HIDConfigureAction now only checks kHIDElementTypeInput elements.\
- Changed some "for (x=0;x<n;x++) i[x] = 0;" code to use bzero instead.\
- Moved device & element finding code into its own routines: HIDFindActionDeviceAndElement & HIDFindSubElement.\
- The original HID utilities depended on the BSD FILE* implementation for HID[Save/Restore]ElementConfig and didn't work in CFM applications.\
- So two new routine (HIDSaveElementPref & HIDRestoreElementPref) were added that use the CFPreferences API's instead. \
-\
-Version 3.4 Added code to support hot plugging & un-plugging devices. Note to developers: It's very important to use the HIDIsValidDevice\
- and HIDIsValidElement API's to verify that cached device or element pointers are still valid before de-referencing them.\
- This validation code has been added to all HID Utilities AIP's that take a device or element pointer as a parameter.\
- Note also that this required that queueRunLoopSource and notification port fields be added to the device record. (see <HID_Utilities.h>)\
-\
-Version 3.3 Added output transaction support for UPS & FFB devices (see <HID_Transaction_Utilities.c> & <HID_Transaction_Utilities.h>).\
-\
-Version 3.2 Since 10.2 changed the cookie numbers (by adding a usage == -1element for arrays) a cookie agnostic method of getting\
- device and element names was needed. Plus the nested (device & element) switch statements hardcoding the strings.\
- So all the device, element & cookie strings have been moved out of the source file(s) and put into XML data files instead.\
- NOTE: all local (static) routines now begin with "hid_" instead of "HID".\
- All references to "Kernel/IOKit/hidsystem/" now (correctly) point to "IOKit/hid/" instead.\
-\
-Version 3.1: Added the basics of a element naming scheme. Right now it just supports one device (macally iShock) but as I get more \
- device info I can add other devices (feel free to add to the name lookup file and send me the results). Added bad device \
- and element chencking in config/save. Fixed one case of swapped usage page and usage variables. Fixed a few leaks \
- noted by a developer. Add a NULL check to top level element handler to prevent NULL deference also noted by developer. \
- Checked build with gcc3. Rebuilt bundle and static lib.\
-\
-Version 3.0: Major Change: Added CFM support.\
- Project now can be built in three different ways with the interface being straight C with Mac OS X type reliance, thus completely\
- suitable for CFM or MachO binary formats and Carbon, Cocoa, or command line interfaces.\
-\
- - Static Library: For use with Mac OS X MachO projects. The build product (in the build directory) can be static linked\
- into any exisiting Mac OS X MachO project. The project should include HID_Utilities_External.h only for declarations.\
-\
- - Source: This is just including the HID Utilities source files in the target project. Works as previous, but now all the \
- declarations needed are in the HID_Utilities_External.h header file.\
-\
- - Dynamic Library: Should only be used by CFM applications. There are some notes which MUST be followed. See the HID Explorer\
- or the HID Config Save samples for CW7 projects which show the actual use of the library. The dylib is housed in a bundle\
- which the CFM app finds at runtime and calls into. This bundle is included and the dylib project will automatically place\
- the actual dylib in the bundle (contents/MacOS/). NOTE: The path to this is an absolute path for the build product of the \
- project, you MUST modify this if you rebuild the dylib (which never be required). To do this select the prject name in the\
- Files tab and Get Info. Point the build product to the HID.bundle/contents/MacOS/ directory in the HID Utilities directory.\
- Then point the intermediates to the intermediates directory already in the build directory. This is required since the build\
- product path is absolute and can't be project relative (yes, a bug has been filed). Again, this is only if you wnat to rebuild\
- the dylib used for CFM applications. Also note, you must copy the HID.bundle into your application directory (if you are using\
- the method in the sample to find the bundle) for your CFM application to use it.\
- \
- Other Notes:\
- The interface is now completely Mac OS X type free. This means minor mods to your projects. See the element and device structures\
- for guidence on the types. For example cookies now should be void *'s. Fixed a couple bugs in allocating queues. CLean up error\
- checking to only dump DebugStrs if the source is used (vice the static or dynamic libraries).\
-\
-Version 2.0: Update. Fixed some 10.1 issues, notably spelling errors in constants and include differences. Fixed 10.0.x errors, notably \
- type errors in retrieving element info, negative value handling (see GetElementValue), queuing error, and other minor changes.\
- Major change in element list handling... Elements are now stored in a binary tree to mimic the tree sturcture of the \
- device. This allows hierarchial diplay and parsing (See HID Explorer sample). Additionally, some of the routine declarations \
- have chnaged to work with this tree structure, one can still get same list functionality by using GetNextDeviceElement routine \
- with kHIDElementTypeIO constant. Collections are now stored in tree, so users of these functions must understand if they are \
- looking at a valid IO element or a collection. Lastly, new parsing strings and two new headers are included to aid in decoding \
- PID and power device elements.\
-\
-Version 1.0: Initial release featuring functions to get HID device list, get devices and elements, poll for values, setup queues and get events, \
- handle configuration set up and saving/restoring of configurations.\
-\
-----\
-\
-This group of utilities is stand alone code to help developers work more easily with the HID Manager for Mac OS X with both MachO and CFM support. \
-It provides a high level abstract of the current HID interface that sacrifices slight flexibility in favor single function set up, device and element \
-retrieval, current value and event query, and configuration. This sample is the source code for the Utilities and does not provide a sample of the \
-utilization. There are other samples which provide complete working examples of a HID device explorer and a simple game implementation. More samples \
-will be forth coming shortly.\
-\
-This set of utilities is constantly evolving to both address any bugs and provide better support for developer requested features.\
-Any suggestions and/or bugs can be directed to the Apple bug reporter at:\
-<http://developer.apple.com/bugreporter/index.html>\
-\
-// ==================================\
-\
-// Device and Element Interfaces\
-\
-enum HIDElementTypeMask\
-\{\
- kHIDElementTypeInput = 1 << 1,\
- kHIDElementTypeOutput = 1 << 2,\
- kHIDElementTypeFeature = 1 << 3,\
- kHIDElementTypeCollection = 1 << 4,\
- kHIDElementTypeIO = kHIDElementTypeInput | kHIDElementTypeOutput | kHIDElementTypeFeature,\
- kHIDElementTypeAll = kHIDElementTypeIO | kHIDElementTypeCollection\
-\};\
-typedef enum HIDElementTypeMask HIDElementTypeMask;\
-\
-\
-struct recElement\
-\{\
- unsigned long type; // the type defined by IOHIDElementType in IOHIDKeys.h\
- long usagePage; // usage page from IOUSBHIDParser.h which defines general usage\
- long usage; // usage within above page from IOUSBHIDParser.h which defines specific usage\
- void * cookie; // unique value (within device of specific vendorID and productID) which identifies element, will NOT change\
- long min; // reported min value possible\
- long max; // reported max value possible\
- long scaledMin; // reported scaled min value possible\
- long scaledMax; // reported scaled max value possible\
- long size; // size in bits of data return from element\
- unsigned char relative; // are reports relative to last report (deltas)\
- unsigned char wrapping; // does element wrap around (one value higher than max is min)\
- unsigned char nonLinear; // are the values reported non-linear relative to element movement\
- unsigned char preferredState; // does element have a preferred state (such as a button)\
- unsigned char nullState; // does element have null state\
- long units; // units value is reported in (not used very often)\
- long unitExp; // exponent for units (also not used very often)\
- char name[256]; // name of element (not used often)\
-\
-// runtime variables\
- long minReport; // min returned value\
- long maxReport; // max returned value (calibrate call)\
- long userMin; // user set value to scale to (scale call)\
- long userMax; \
- \
- struct recElement * pPrevious; // previous element (NULL at list head)\
- struct recElement * pChild; // next child (only of collections)\
- struct recElement * pSibling; // next sibling (for elements and collections)\
- \
-\};\
-typedef struct recElement recElement;\
-typedef recElement* pRecElement;\
-\
-struct recDevice\
-\{\
- void * interface; // interface to device, NULL = no interface\
- void * queue; // device queue, NULL = no queue\
- char transport[256]; // device transport\
- long vendorID; // id for device vendor, unique across all devices\
- long productID; // id for particular product, unique across all of a vendors devices\
- long version; // version of product\
- char manufacturer[256]; // name of manufacturer\
- char product[256]; // name of product\
- char serial[256]; // serial number of specific product, can be assumed unique across specific product or specific vendor (not used often)\
- long locID; // long representing location in USB (or other I/O) chain which device is pluged into, can identify specific device on machine\
- long usage; // usage page from IOUSBHID Parser.h which defines general usage\
- long usagePage; // usage within above page from IOUSBHID Parser.h which defines specific usage\
- long totalElements; // number of total elements (should be total of all elements on device including collections) (calculated, not reported by device)\
- long features; // number of elements of type kIOHIDElementTypeFeature\
- long inputs; // number of elements of type kIOHIDElementTypeInput_Misc or kIOHIDElementTypeInput_Button or kIOHIDElementTypeInput_Axis or kIOHIDElementTypeInput_ScanCodes\
- long outputs; // number of elements of type kIOHIDElementTypeOutput\
- long collections; // number of elements of type kIOHIDElementTypeCollection\
- long axis; // number of axis (calculated, not reported by device)\
- long buttons; // number of buttons (calculated, not reported by device)\
- long hats; // number of hat switches (calculated, not reported by device)\
- long sliders; // number of sliders (calculated, not reported by device)\
- long dials; // number of dials (calculated, not reported by device)\
- long wheels; // number of wheels (calculated, not reported by device)\
- recElement* pListElements; // head of linked list of elements \
- struct recDevice* pNext; // next device\
-\};\
-typedef struct recDevice recDevice;\
-typedef recDevice* pRecDevice;\
-\
-// ==================================\
-\
-// builds list of device with elements (allocates memory and captures devices)\
-// list is allcoated internally within HID Utilites and can be accessed via accessor functions\
-// structures within list are considered flat and user accessable, butnot user modifiable\
-// can be called again to rebuild list to account for new devices (will do the right thing in case of disposing existing list)\
-unsigned char HIDBuildDeviceList (unsigned long usagePage, unsigned long usage);\
-\
-// release list built by above function\
-// MUST be called prior to application exit to properly release devices\
-// if not called (or app crashes) devices can be recovered by pluging into different location in USB chain\
-void HIDReleaseDeviceList (void);\
-\
-// does a device list exist\
-unsigned char HIDHaveDeviceList (void);\
-\
-// how many HID devices have been found\
-// returns 0 if no device list exist\
-unsigned long HIDCountDevices (void);\
-\
-// how many elements does a specific device have\
-// returns 0 if device is invalid or NULL\
-// uses mask of HIDElementTypeMask to restrict element found\
-// use kHIDElementTypeIO to get non-collection elements\
-unsigned long HIDCountDeviceElements (pRecDevice pDevice, HIDElementTypeMask typeMask);\
-\
-// get the first device in the device list\
-// returns NULL if no list exists\
-pRecDevice HIDGetFirstDevice (void);\
-\
-// get next device in list given current device as parameter\
-// returns NULL if end of list\
-pRecDevice HIDGetNextDevice (pRecDevice pDevice);\
-\
-// get the first element of device passed in as parameter\
-// returns NULL if no list exists or device does not exists or is NULL\
-// uses mask of HIDElementTypeMask to restrict element found\
-// use kHIDElementTypeIO to get previous HIDGetFirstDeviceElement functionality\
-pRecElement HIDGetFirstDeviceElement (pRecDevice pDevice, HIDElementTypeMask typeMask);\
-\
-// get next element of given device in list given current element as parameter\
-// will walk down each collection then to next element or collection (depthwise traverse)\
-// returns NULL if end of list\
-// uses mask of HIDElementTypeMask to restrict element found\
-// use kHIDElementTypeIO to get previous HIDGetNextDeviceElement functionality\
-pRecElement HIDGetNextDeviceElement (pRecElement pElement, HIDElementTypeMask typeMask);\
-\
-// get previous element of given device in list given current element as parameter\
-// this wlaks directly up the tree to the top element and does not search at each level\
-// returns NULL if beginning of list\
-// uses mask of HIDElementTypeMask to restrict element found\
-// use kHIDElementTypeIO to get non-collection elements\
-pRecElement HIDGetPreviousDeviceElement (pRecElement pElement, HIDElementTypeMask typeMask);\
-\
-// returns C string type name given a type enumeration passed in as parameter (see IOHIDKeys.h)\
-// returns empty string for invlid types\
-void HIDGetTypeName (unsigned long type, char * cstrName);\
-\
-// returns C string usage given usage page and usage passed in as parameters (see IOUSBHIDParser.h)\
-// returns usage page and usage values in string form for unknown values\
-void HIDGetUsageName (long valueUsagePage, long valueUsage, char * cstrName);\
-\
-// ==================================\
-\
-// Element Event Queue and Value Interfaces\
-\
-enum\
-\{\
- kDefaultUserMin = 0, // default user min and max used for scaling\
- kDefaultUserMax = 255\
-\};\
-\
-enum\
-\{\
- kDeviceQueueSize = 50 // this is wired kernel memory so should be set to as small as possible\
- // but should account for the maximum possible events in the queue\
- // USB updates will likely occur at 100 Hz so one must account for this rate of\
- // if states change quickly (updates are only posted on state changes)\
-\};\
-\
-// ==================================\
-\
-// queues specific element, performing any device queue set up required\
-unsigned long HIDQueueElement (pRecDevice pDevice, pRecElement pElement);\
-\
-// adds all elements to queue, performing any device queue set up required\
-unsigned long HIDQueueDevice (pRecDevice pDevice);\
-\
-// removes element for queue, if last element in queue will release queue and device\
-unsigned long HIDDequeueElement (pRecDevice pDevice, pRecElement pElement);\
-\
-// completely removes all elements from queue and releases queue and device\
-unsigned long HIDDequeueDevice (pRecDevice pDevice);\
-\
-// returns true if an event is avialable for the element and fills out *pHIDEvent structure, returns false otherwise\
-// pHIDEvent is a poiner to a IOHIDEventStruct, using void here for compatibility, users can cast a required\
-unsigned char HIDGetEvent (pRecDevice pDevice, void * pHIDEvent);\
-\
-// returns current value for element, creating device interface as required, polling element\
-// Note: this DOES NOT release the inteface so applications must properly release devices via ReleaseHIDDeviceList\
-long HIDGetElementValue (pRecDevice pDevice, pRecElement pElement);\
-\
-// returns calibrated value given raw value passed in\
-// calibrated value is equal to min and max values returned by HIDGetElementValue since device list built scaled to element reported min and max values\
-long HIDCalibrateValue (long value, pRecElement pElement);\
-\
-// returns scaled value given raw value passed in\
-// scaled value is equal to current value assumed to be in the range of element reported min and max values scaled to user min and max scaled values\
-long HIDScaleValue (long value, pRecElement pElement);\
-\
-// ==================================\
-\
-// Conguration and Save Interfaces\
-\
-enum\
-\{\
- kPercentMove = 10 // precent of overall range a element must move to register\
-\};\
-\
-struct recSaveHID\
-\{\
- long actionCookie;\
- // device\
- // need to add serial number when I have a test case\
- long vendorID;\
- long productID;\
- long locID;\
- long usage;\
- long usagePage;\
- // elements\
- long usagePageE;\
- long usageE;\
- void * cookie;\
-\};\
-typedef struct recSaveHID recSaveHID;\
-typedef recSaveHID * pRecSaveHID;\
-\
-// polls all devices and elements for a change greater than kPercentMove. Times out after given time\
-// returns true and pointer to device and element if found\
-// returns false and NULL for both parameters if not found\
-unsigned char HIDConfigureAction (pRecDevice * ppDevice, pRecElement * ppElement, float timeout);\
-\
-// take input records, save required info\
-// assume file is open and at correct position.\
-void HIDSaveElementConfig (FILE * fileRef, pRecDevice pDevice, pRecElement pElement, long actionCookie);\
-\
-// take file, read one record (assume file position is correct and file is open)\
-// search for matching device\
-// return pDevice, pElement and cookie for action\
-long HIDRestoreElementConfig (FILE * fileRef, pRecDevice * ppDevice, pRecElement * ppElement);\
-\
-----\
-\
-Requirements: Mac OS X, Project Builder (CodeWarrior 7 for sample CFM projects)\
-\
-We hope this helps people get up and running with HID Manager in a quick and painless manner.\
-\
-ggs} \ No newline at end of file
diff --git a/HID Utilities Source/HID Utilities Slib.pbproj/project.pbxproj b/HID Utilities Source/HID Utilities Slib.pbproj/project.pbxproj
deleted file mode 100755
index 03c11c4..0000000
--- a/HID Utilities Source/HID Utilities Slib.pbproj/project.pbxproj
+++ /dev/null
@@ -1,382 +0,0 @@
-// !$*UTF8*$!
-{
- archiveVersion = 1;
- classes = {
- };
- objectVersion = 38;
- objects = {
- 11019ECA0367675E0CCB177F = {
- fileRef = F94745EF01B301760ACA2316;
- isa = PBXBuildFile;
- settings = {
- };
- };
- 113C0C5F036745F00CCB177F = {
- fileEncoding = 4;
- isa = PBXFileReference;
- path = HID_Transaction_Utilities.c;
- refType = 4;
- };
- 113C0C60036745F00CCB177F = {
- fileRef = 113C0C5F036745F00CCB177F;
- isa = PBXBuildFile;
- settings = {
- };
- };
- 11AB43E70369956C0CCB177F = {
- isa = PBXFileReference;
- path = "HID Utilities Read Me.rtf";
- refType = 4;
- };
-//110
-//111
-//112
-//113
-//114
-//3A0
-//3A1
-//3A2
-//3A3
-//3A4
- 3A1E2F8308593DC100E32947 = {
- fileEncoding = 4;
- isa = PBXFileReference;
- path = HID_APIs.h;
- refType = 4;
- };
- 3A1E2F8408593DC100E32947 = {
- fileRef = 3A1E2F8308593DC100E32947;
- isa = PBXBuildFile;
- settings = {
- };
- };
- 3A1E2F8508593DD700E32947 = {
- fileEncoding = 4;
- isa = PBXFileReference;
- path = ImmrHIDUtilAddOn.h;
- refType = 4;
- };
- 3A1E2F8608593DD700E32947 = {
- fileRef = 3A1E2F8508593DD700E32947;
- isa = PBXBuildFile;
- settings = {
- };
- };
- 3A1E2F8708593DE400E32947 = {
- fileEncoding = 4;
- isa = PBXFileReference;
- path = ImmrHIDUtilAddOn.c;
- refType = 4;
- };
- 3A1E2F8808593DE400E32947 = {
- fileRef = 3A1E2F8708593DE400E32947;
- isa = PBXBuildFile;
- settings = {
- };
- };
-//3A0
-//3A1
-//3A2
-//3A3
-//3A4
-//F60
-//F61
-//F62
-//F63
-//F64
- F65F9D7E01B4915C01CA2317 = {
- children = (
- );
- isa = PBXGroup;
- name = "Libraries and Frameworks";
- refType = 4;
- };
-//F60
-//F61
-//F62
-//F63
-//F64
-//F90
-//F91
-//F92
-//F93
-//F94
- F94467BD024699CF0ACA2316 = {
- fileEncoding = 4;
- isa = PBXFileReference;
- path = HID_Name_Lookup.c;
- refType = 4;
- };
- F94467BF024699CF0ACA2316 = {
- fileRef = F94467BD024699CF0ACA2316;
- isa = PBXBuildFile;
- settings = {
- };
- };
- F94467C302469A860ACA2316 = {
- fileEncoding = 4;
- isa = PBXFileReference;
- path = HID_Name_Lookup.h;
- refType = 4;
- };
- F94467C402469A860ACA2316 = {
- fileRef = F94467C302469A860ACA2316;
- isa = PBXBuildFile;
- settings = {
- };
- };
- F94745C901B2DAC40ACA2316 = {
- buildStyles = (
- F94745CB01B2DAC40ACA2316,
- F94745CC01B2DAC40ACA2316,
- );
- hasScannedForEncodings = 1;
- isa = PBXProject;
- mainGroup = F94745CA01B2DAC40ACA2316;
- productRefGroup = F94745CF01B2DB060ACA2316;
- projectDirPath = "";
- targets = (
- F94745D101B2DB060ACA2316,
- );
- };
- F94745CA01B2DAC40ACA2316 = {
- children = (
- 11AB43E70369956C0CCB177F,
- F94745CE01B2DB060ACA2316,
- F94745CD01B2DB060ACA2316,
- F94745E201B2DB720ACA2316,
- F65F9D7E01B4915C01CA2317,
- F94745CF01B2DB060ACA2316,
- );
- isa = PBXGroup;
- refType = 4;
- };
- F94745CB01B2DAC40ACA2316 = {
- buildRules = (
- );
- buildSettings = {
- COPY_PHASE_STRIP = NO;
- };
- isa = PBXBuildStyle;
- name = Development;
- };
- F94745CC01B2DAC40ACA2316 = {
- buildRules = (
- );
- buildSettings = {
- COPY_PHASE_STRIP = YES;
- };
- isa = PBXBuildStyle;
- name = Deployment;
- };
- F94745CD01B2DB060ACA2316 = {
- children = (
- F94745EB01B2E50A0ACA2316,
- F94467C302469A860ACA2316,
- F94745F001B301760ACA2316,
- );
- isa = PBXGroup;
- name = "Internal Headers";
- refType = 4;
- };
- F94745CE01B2DB060ACA2316 = {
- children = (
- F94467BD024699CF0ACA2316,
- F94745D601B2DB130ACA2316,
- F94745F301B3062C0ACA2316,
- F94745DA01B2DB130ACA2316,
- 113C0C5F036745F00CCB177F,
- F94745E601B2DB720ACA2316,
- 3A1E2F8708593DE400E32947,
- );
- isa = PBXGroup;
- name = Source;
- refType = 4;
- };
- F94745CF01B2DB060ACA2316 = {
- children = (
- F94745D001B2DB060ACA2316,
- );
- isa = PBXGroup;
- name = Products;
- refType = 4;
- };
- F94745D001B2DB060ACA2316 = {
- isa = PBXLibraryReference;
- path = libHIDUtilities.a;
- refType = 3;
- };
- F94745D101B2DB060ACA2316 = {
- buildPhases = (
- F94745D201B2DB060ACA2316,
- F94745D301B2DB060ACA2316,
- F94745D401B2DB060ACA2316,
- F94745D501B2DB060ACA2316,
- );
- buildSettings = {
- DEBUGGING_SYMBOLS = NO;
- LIBRARY_STYLE = STATIC;
- OPTIMIZATION_CFLAGS = "-O3";
- OTHER_LDFLAGS = "";
- OTHER_LIBTOOL_FLAGS = "";
- OTHER_REZFLAGS = "";
- PRECOMPILE_PREFIX_HEADER = YES;
- PREFIX_HEADER = HIDLib.h;
- PRODUCT_NAME = libHIDUtilities.a;
- REZ_EXECUTABLE = YES;
- SECTORDER_FLAGS = "";
- WARNING_CFLAGS = "-Wmost -Wno-four-char-constants -Wno-unknown-pragmas";
- };
- dependencies = (
- );
- isa = PBXLibraryTarget;
- name = libHIDUtilities.a;
- productName = libHIDUtilities.a;
- productReference = F94745D001B2DB060ACA2316;
- };
- F94745D201B2DB060ACA2316 = {
- buildActionMask = 2147483647;
- files = (
- F94745EC01B2E50A0ACA2316,
- F94745F201B301760ACA2316,
- F94467C402469A860ACA2316,
- 11019ECA0367675E0CCB177F,
- 3A1E2F8408593DC100E32947,
- 3A1E2F8608593DD700E32947,
- );
- isa = PBXHeadersBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- F94745D301B2DB060ACA2316 = {
- buildActionMask = 2147483647;
- files = (
- F94745DF01B2DB140ACA2316,
- F94745E101B2DB140ACA2316,
- F94745EA01B2DB720ACA2316,
- F94745F401B3062C0ACA2316,
- F94467BF024699CF0ACA2316,
- 113C0C60036745F00CCB177F,
- 3A1E2F8808593DE400E32947,
- );
- isa = PBXSourcesBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- F94745D401B2DB060ACA2316 = {
- buildActionMask = 2147483647;
- files = (
- );
- isa = PBXFrameworksBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- F94745D501B2DB060ACA2316 = {
- buildActionMask = 2147483647;
- files = (
- );
- isa = PBXRezBuildPhase;
- runOnlyForDeploymentPostprocessing = 0;
- };
- F94745D601B2DB130ACA2316 = {
- fileEncoding = 4;
- isa = PBXFileReference;
- path = HID_Config_Utilities.c;
- refType = 4;
- };
- F94745DA01B2DB130ACA2316 = {
- fileEncoding = 4;
- isa = PBXFileReference;
- path = HID_Queue_Utilities.c;
- refType = 4;
- };
- F94745DF01B2DB140ACA2316 = {
- fileRef = F94745D601B2DB130ACA2316;
- isa = PBXBuildFile;
- settings = {
- };
- };
- F94745E101B2DB140ACA2316 = {
- fileRef = F94745DA01B2DB130ACA2316;
- isa = PBXBuildFile;
- settings = {
- };
- };
- F94745E201B2DB720ACA2316 = {
- children = (
- F94745E301B2DB720ACA2316,
- F94745E401B2DB720ACA2316,
- F94745EF01B301760ACA2316,
- 3A1E2F8308593DC100E32947,
- 3A1E2F8508593DD700E32947,
- );
- isa = PBXGroup;
- name = "External Headers";
- refType = 4;
- };
- F94745E301B2DB720ACA2316 = {
- fileEncoding = 4;
- isa = PBXFileReference;
- path = IOHIDPowerUsage.h;
- refType = 4;
- };
- F94745E401B2DB720ACA2316 = {
- fileEncoding = 4;
- isa = PBXFileReference;
- path = PID.h;
- refType = 4;
- };
- F94745E601B2DB720ACA2316 = {
- fileEncoding = 4;
- isa = PBXFileReference;
- path = HID_Utilities.c;
- refType = 4;
- };
- F94745EA01B2DB720ACA2316 = {
- fileRef = F94745E601B2DB720ACA2316;
- isa = PBXBuildFile;
- settings = {
- };
- };
- F94745EB01B2E50A0ACA2316 = {
- fileEncoding = 4;
- isa = PBXFileReference;
- path = HIDLib.h;
- refType = 4;
- };
- F94745EC01B2E50A0ACA2316 = {
- fileRef = F94745EB01B2E50A0ACA2316;
- isa = PBXBuildFile;
- settings = {
- };
- };
- F94745EF01B301760ACA2316 = {
- fileEncoding = 4;
- isa = PBXFileReference;
- path = HID_Utilities_External.h;
- refType = 4;
- };
- F94745F001B301760ACA2316 = {
- fileEncoding = 4;
- isa = PBXFileReference;
- path = HID_Utilities_Internal.h;
- refType = 4;
- };
- F94745F201B301760ACA2316 = {
- fileRef = F94745F001B301760ACA2316;
- isa = PBXBuildFile;
- settings = {
- };
- };
- F94745F301B3062C0ACA2316 = {
- fileEncoding = 4;
- isa = PBXFileReference;
- path = HID_Error_Handler.c;
- refType = 4;
- };
- F94745F401B3062C0ACA2316 = {
- fileRef = F94745F301B3062C0ACA2316;
- isa = PBXBuildFile;
- settings = {
- };
- };
- };
- rootObject = F94745C901B2DAC40ACA2316;
-}
diff --git a/HID Utilities Source/HIDLib.h b/HID_Utilities_Source/HIDLib.h
index 6123009..6123009 100644
--- a/HID Utilities Source/HIDLib.h
+++ b/HID_Utilities_Source/HIDLib.h
diff --git a/HID Utilities Source/HID_APIs.h b/HID_Utilities_Source/HID_APIs.h
index d281340..d281340 100644
--- a/HID Utilities Source/HID_APIs.h
+++ b/HID_Utilities_Source/HID_APIs.h
diff --git a/HID Utilities Source/HID_CFM.c b/HID_Utilities_Source/HID_CFM.c
index ab00e0b..ab00e0b 100644
--- a/HID Utilities Source/HID_CFM.c
+++ b/HID_Utilities_Source/HID_CFM.c
diff --git a/HID Utilities Source/HID_Config_Utilities.c b/HID_Utilities_Source/HID_Config_Utilities.c
index a8e97b2..a8e97b2 100644
--- a/HID Utilities Source/HID_Config_Utilities.c
+++ b/HID_Utilities_Source/HID_Config_Utilities.c
diff --git a/HID Utilities Source/HID_Config_Utilities.h b/HID_Utilities_Source/HID_Config_Utilities.h
index 1ab7215..1ab7215 100644
--- a/HID Utilities Source/HID_Config_Utilities.h
+++ b/HID_Utilities_Source/HID_Config_Utilities.h
diff --git a/HID Utilities Source/HID_Error_Handler.c b/HID_Utilities_Source/HID_Error_Handler.c
index 2985fce..2985fce 100644
--- a/HID Utilities Source/HID_Error_Handler.c
+++ b/HID_Utilities_Source/HID_Error_Handler.c
diff --git a/HID Utilities Source/HID_Error_Handler.h b/HID_Utilities_Source/HID_Error_Handler.h
index a672182..a672182 100644
--- a/HID Utilities Source/HID_Error_Handler.h
+++ b/HID_Utilities_Source/HID_Error_Handler.h
diff --git a/HID Utilities Source/HID_Name_Lookup.c b/HID_Utilities_Source/HID_Name_Lookup.c
index 717909d..717909d 100644
--- a/HID Utilities Source/HID_Name_Lookup.c
+++ b/HID_Utilities_Source/HID_Name_Lookup.c
diff --git a/HID Utilities Source/HID_Name_Lookup.h b/HID_Utilities_Source/HID_Name_Lookup.h
index 5615172..5615172 100644
--- a/HID Utilities Source/HID_Name_Lookup.h
+++ b/HID_Utilities_Source/HID_Name_Lookup.h
diff --git a/HID Utilities Source/HID_Queue_Utilities.c b/HID_Utilities_Source/HID_Queue_Utilities.c
index 70af952..70af952 100644
--- a/HID Utilities Source/HID_Queue_Utilities.c
+++ b/HID_Utilities_Source/HID_Queue_Utilities.c
diff --git a/HID Utilities Source/HID_Queue_Utilities.h b/HID_Utilities_Source/HID_Queue_Utilities.h
index e9b0501..e9b0501 100644
--- a/HID Utilities Source/HID_Queue_Utilities.h
+++ b/HID_Utilities_Source/HID_Queue_Utilities.h
diff --git a/HID Utilities Source/HID_Transaction_Utilities.c b/HID_Utilities_Source/HID_Transaction_Utilities.c
index c9012f1..c9012f1 100644
--- a/HID Utilities Source/HID_Transaction_Utilities.c
+++ b/HID_Utilities_Source/HID_Transaction_Utilities.c
diff --git a/HID Utilities Source/HID_Transaction_Utilities.h b/HID_Utilities_Source/HID_Transaction_Utilities.h
index 4822ddb..4822ddb 100644
--- a/HID Utilities Source/HID_Transaction_Utilities.h
+++ b/HID_Utilities_Source/HID_Transaction_Utilities.h
diff --git a/HID Utilities Source/HID_Utilities.c b/HID_Utilities_Source/HID_Utilities.c
index b7b22c5..b7b22c5 100644
--- a/HID Utilities Source/HID_Utilities.c
+++ b/HID_Utilities_Source/HID_Utilities.c
diff --git a/HID Utilities Source/HID_Utilities.h b/HID_Utilities_Source/HID_Utilities.h
index e8565ce..e8565ce 100644
--- a/HID Utilities Source/HID_Utilities.h
+++ b/HID_Utilities_Source/HID_Utilities.h
diff --git a/HID Utilities Source/HID_Utilities_CFM.h b/HID_Utilities_Source/HID_Utilities_CFM.h
index 305916a..305916a 100644
--- a/HID Utilities Source/HID_Utilities_CFM.h
+++ b/HID_Utilities_Source/HID_Utilities_CFM.h
diff --git a/HID Utilities Source/HID_Utilities_External.h b/HID_Utilities_Source/HID_Utilities_External.h
index 62a52ec..62a52ec 100644
--- a/HID Utilities Source/HID_Utilities_External.h
+++ b/HID_Utilities_Source/HID_Utilities_External.h
diff --git a/HID Utilities Source/HID_Utilities_Internal.h b/HID_Utilities_Source/HID_Utilities_Internal.h
index 3e1eac2..3e1eac2 100644
--- a/HID Utilities Source/HID_Utilities_Internal.h
+++ b/HID_Utilities_Source/HID_Utilities_Internal.h
diff --git a/HID Utilities Source/IOHIDPowerUsage.h b/HID_Utilities_Source/IOHIDPowerUsage.h
index 27c440f..27c440f 100644
--- a/HID Utilities Source/IOHIDPowerUsage.h
+++ b/HID_Utilities_Source/IOHIDPowerUsage.h
diff --git a/HID Utilities Source/ImmrHIDUtilAddOn.c b/HID_Utilities_Source/ImmrHIDUtilAddOn.c
index 6d2cbaf..6d2cbaf 100644
--- a/HID Utilities Source/ImmrHIDUtilAddOn.c
+++ b/HID_Utilities_Source/ImmrHIDUtilAddOn.c
diff --git a/HID Utilities Source/ImmrHIDUtilAddOn.h b/HID_Utilities_Source/ImmrHIDUtilAddOn.h
index 4563a61..4563a61 100644
--- a/HID Utilities Source/ImmrHIDUtilAddOn.h
+++ b/HID_Utilities_Source/ImmrHIDUtilAddOn.h
diff --git a/HID_Utilities_Source/Makefile.am b/HID_Utilities_Source/Makefile.am
new file mode 100644
index 0000000..184c15c
--- /dev/null
+++ b/HID_Utilities_Source/Makefile.am
@@ -0,0 +1,29 @@
+AUTOMAKE_OPTIONS = foreign
+
+noinst_LIBRARIES = libHIDUtilities.a
+
+libHIDUtilities_a_SOURCES = \
+ HID_Config_Utilities.c \
+ HID_Error_Handler.c \
+ HID_Name_Lookup.c \
+ HID_Queue_Utilities.c \
+ HID_Transaction_Utilities.c \
+ HID_Utilities.c \
+ ImmrHIDUtilAddOn.c
+
+# include the headers in the dist so you can build
+nobase_noinst_HEADERS = \
+ HIDLib.h \
+ HID_APIs.h \
+ HID_Config_Utilities.h \
+ HID_Error_Handler.h \
+ HID_Name_Lookup.h \
+ HID_Queue_Utilities.h \
+ HID_Transaction_Utilities.h \
+ HID_Utilities.h \
+ HID_Utilities_CFM.h \
+ HID_Utilities_External.h \
+ HID_Utilities_Internal.h \
+ IOHIDPowerUsage.h \
+ ImmrHIDUtilAddOn.h \
+ PID.h
diff --git a/HID Utilities Source/PID.h b/HID_Utilities_Source/PID.h
index fac1647..fac1647 100644
--- a/HID Utilities Source/PID.h
+++ b/HID_Utilities_Source/PID.h
diff --git a/Makefile b/Makefile
deleted file mode 100644
index bab756d..0000000
--- a/Makefile
+++ /dev/null
@@ -1,38 +0,0 @@
-TARGET := $(shell pwd | sed 's|.*/\(.*\)$$|\1|')
-EXTERNALS_ROOT := $(shell pwd | sed 's|^\(/.*externals\).*|\1|')
-
-default:
- make -C $(EXTERNALS_ROOT) $(TARGET)
-
-install:
- make -C $(EXTERNALS_ROOT) $(TARGET)_install
-
-clean:
- make -C $(EXTERNALS_ROOT) $(TARGET)_clean
-
-test_locations:
- make -C $(EXTERNALS_ROOT) test_locations
-
-# for emacs
-etags:
- etags ../../../pd/src/*.[ch] *.[ch] linux/input.h /usr/include/stdlib.h \
- /usr/include/time.h /usr/include/stdio.h
- make etags_`uname -s`
-
-etags_Darwin:
- etags -a HID\ Utilities\ Source/*.[ch] \
- /System/Library/Frameworks/ForceFeedback.framework/Headers/*.h \
- /System/Library/Frameworks/Carbon.framework/Headers/*.h \
- /System/Library/Frameworks/CoreServices.framework/Headers/*.h \
- /System/Library/Frameworks/IOKit.framework/Headers/*.[ch] \
- /System/Library/Frameworks/IOKit.framework/Headers/hid*/*.[ch] \
- /Users/hans/Documents/Research/HID/example\ code/CrossHID/*/*.h \
- /Users/hans/Documents/Research/HID/example\ code/CrossHID/*/*.cpp \
- /usr/include/mach/*.h
-
-etags_Linux:
- etags -a /usr/include/*.h linux/input.h /usr/include/sys/*.h
-
-etags_MINGW:
- etags -a /usr/include/*.h /usr/include/sys/*.h \
- /usr/local/include/*.h /usr/local/include/sys/*.h
diff --git a/Makefile.am b/Makefile.am
new file mode 100644
index 0000000..ca00a6f
--- /dev/null
+++ b/Makefile.am
@@ -0,0 +1,39 @@
+AUTOMAKE_OPTIONS = foreign
+
+noinst_PROGRAMS = hidio
+hidio_SOURCES = hidio.c hidio_types.c
+hidio_CFLAGS = $(CFLAGS)
+hidio_LDADD =
+hidio_LDFLAGS = $(LDFLAGS)
+noinst_HEADERS = hidio.h input_arrays.h
+
+EXTRA_SUBDIRS =
+
+if MACOSX
+hidio_SOURCES += hidio_darwin.c
+EXTRA_SUBDIRS += HID_Utilities_Source
+hidio_CFLAGS += -IHID_Utilities_Source
+hidio_LDADD += HID_Utilities_Source/libHIDUtilities.a
+hidio_LDFLAGS += -bundle -undefined dynamic_lookup \
+ -framework Carbon -framework IOKit -framework ForceFeedback
+endif
+
+if LINUX
+hidio_SOURCES += hidio_linux.c input_arrays.c
+endif
+
+if WINDOWS
+hidio_SOURCES += hidio_windows.c
+endif
+
+
+
+# files that are included but not built
+EXTRA_DIST = COPYING README TODO
+
+# subdirs that are built
+SUBDIRS = $(EXTRA_SUBDIRS)
+
+# subdirs that are always included in the dist, etc.
+DIST_SUBDIRS = HID_Utilities_Source
+
diff --git a/autogen.sh b/autogen.sh
new file mode 100755
index 0000000..582ecb1
--- /dev/null
+++ b/autogen.sh
@@ -0,0 +1,16 @@
+#!/bin/sh
+
+PATH=/sw/bin:$PATH
+
+case `uname -s` in
+ MINGW*)
+# autoreconf doesn't always work on MinGW
+ libtoolize --install --force \
+ && aclocal \
+ && automake --add-missing --force-missing \
+ && autoconf
+ ;;
+ *)
+ autoreconf --install --force --verbose
+ ;;
+esac
diff --git a/configure.ac b/configure.ac
new file mode 100644
index 0000000..5c8c9b6
--- /dev/null
+++ b/configure.ac
@@ -0,0 +1,89 @@
+AC_PREREQ(2.59)
+AC_INIT(hidio,0.1)
+AC_CONFIG_SRCDIR(hidio.c)
+AC_CANONICAL_HOST
+AM_INIT_AUTOMAKE(1.9)
+
+CFLAGS="-DPD $CFLAGS"
+INCLUDES="-I../../../pd/src $INCLUDES"
+
+case $host in
+*darwin*)
+ MACOSX=yes
+ ;;
+*linux*)
+ LINUX=yes
+ ;;
+*mingw*)
+ WINDOWS=yes
+ MINGW=yes
+ ;;
+*cygwin*)
+ WINDOWS=yes
+ CYGWIN=yes
+ ;;
+esac
+AM_CONDITIONAL(ANDROID, test x$ANDROID = xyes)
+AM_CONDITIONAL(IPHONEOS, test x$IPHONEOS = xyes)
+AM_CONDITIONAL(LINUX, test x$LINUX = xyes)
+AM_CONDITIONAL(MACOSX, test x$MACOSX = xyes)
+AM_CONDITIONAL(WINDOWS, test x$WINDOWS = xyes)
+AM_CONDITIONAL(CYGWIN, test x$MINGW = xyes)
+AM_CONDITIONAL(MINGW, test x$MINGW = xyes)
+
+# Checks for programs.
+AC_PROG_CC
+AC_PROG_CXX
+AC_PROG_INSTALL
+AC_PROG_RANLIB
+AC_PROG_MAKE_SET
+
+AC_SUBST(EXTERNTARGET)
+AC_SUBST(INCLUDES)
+
+AC_HEADER_STDC
+
+AC_ARG_ENABLE([debug],
+ [AS_HELP_STRING([--enable-debug], [use debugging support])],
+ [debug=$enableval])
+if test x$debug = xyes; then
+ CFLAGS="$CFLAGS -g"
+fi
+
+AC_ARG_ENABLE([universal],
+ [AS_HELP_STRING([--enable-universal],
+ [build universal binary on Mac OS X])],
+ [universal=$enableval], [universal=no])
+AM_CONDITIONAL(UNIVERSAL, test x$universal = xyes)
+if test x$universal = xyes; then
+ UNIVERSAL_FLAGS="-arch ppc -arch i386 -arch x86_64 -mmacosx-version-min=10.4"
+ CFLAGS="$CFLAGS -fast -ffast-math $UNIVERSAL_FLAGS"
+ LDFLAGS="$LDFLAGS $UNIVERSAL_FLAGS"
+fi
+
+# Checks for header files.
+AC_FUNC_ALLOCA
+AC_CHECK_HEADERS([fcntl.h limits.h malloc.h stddef.h stdlib.h string.h sys/ioctl.h sys/param.h sys/socket.h sys/time.h sys/timeb.h unistd.h])
+
+# Checks for typedefs, structures, and compiler characteristics.
+AC_TYPE_INT16_T
+AC_TYPE_INT32_T
+AC_TYPE_OFF_T
+AC_TYPE_PID_T
+AC_TYPE_SIZE_T
+
+# Checks for library functions.
+AC_FUNC_ERROR_AT_LINE
+AC_FUNC_FORK
+AC_FUNC_MALLOC
+AC_FUNC_REALLOC
+AC_TYPE_SIGNAL
+AC_CHECK_FUNCS([getcwd memmove memset pow regcomp select socket strchr strrchr strstr strtol])
+
+# Specify what files are to be created.
+AC_CONFIG_FILES([Makefile
+ HID_Utilities_Source/Makefile])
+
+AC_OUTPUT
+
+dnl output some messages at the end