|
38 | 38 | // Mapping scheme: HIDEvent -> Item -> Value -> [Actions] |
39 | 39 | typealias HIDMapping = [ HIDEvent: [ Int: [ Int: [GamePadAction] ] ] ] |
40 | 40 |
|
| 41 | +func printHIDMapping(_ mapping: HIDMapping) { |
| 42 | + |
| 43 | + for (event, keys) in mapping { |
| 44 | + print("\(event):") |
| 45 | + for (key, value) in keys { |
| 46 | + print(" \(key): \(value)") |
| 47 | + } |
| 48 | + } |
| 49 | +} |
| 50 | + |
41 | 51 | class DeviceDatabase { |
42 | 52 |
|
43 | 53 | // Known devices |
@@ -244,29 +254,30 @@ class DeviceDatabase { |
244 | 254 | case "a3~": result[.AXIS]![3] = mapAxis(key: pair[0], rev: true) |
245 | 255 | case "a4~": result[.AXIS]![4] = mapAxis(key: pair[0], rev: true) |
246 | 256 | case "a5~": result[.AXIS]![5] = mapAxis(key: pair[0], rev: true) |
247 | | - case "b0": result[.BUTTON]![1] = mapButton(key: pair[0]) |
248 | | - case "b1": result[.BUTTON]![2] = mapButton(key: pair[0]) |
249 | | - case "b2": result[.BUTTON]![3] = mapButton(key: pair[0]) |
250 | | - case "b3": result[.BUTTON]![4] = mapButton(key: pair[0]) |
251 | | - case "b4": result[.BUTTON]![5] = mapButton(key: pair[0]) |
252 | | - case "b5": result[.BUTTON]![6] = mapButton(key: pair[0]) |
253 | | - case "b6": result[.BUTTON]![7] = mapButton(key: pair[0]) |
254 | | - case "b7": result[.BUTTON]![8] = mapButton(key: pair[0]) |
255 | | - case "b8": result[.BUTTON]![9] = mapButton(key: pair[0]) |
256 | | - case "b9": result[.BUTTON]![10] = mapButton(key: pair[0]) |
257 | | - case "b10": result[.BUTTON]![11] = mapButton(key: pair[0]) |
258 | | - case "b11": result[.BUTTON]![12] = mapButton(key: pair[0]) |
259 | | - case "b12": result[.BUTTON]![13] = mapButton(key: pair[0]) |
260 | | - case "b13": result[.BUTTON]![14] = mapButton(key: pair[0]) |
261 | | - case "b14": result[.BUTTON]![15] = mapButton(key: pair[0]) |
262 | | - case "b15": result[.BUTTON]![16] = mapButton(key: pair[0]) |
263 | | - case "b16": result[.BUTTON]![17] = mapButton(key: pair[0]) |
| 257 | + case "b0": result[.BUTTON]![0] = mapButton(key: pair[0]) |
| 258 | + case "b1": result[.BUTTON]![1] = mapButton(key: pair[0]) |
| 259 | + case "b2": result[.BUTTON]![2] = mapButton(key: pair[0]) |
| 260 | + case "b3": result[.BUTTON]![3] = mapButton(key: pair[0]) |
| 261 | + case "b4": result[.BUTTON]![4] = mapButton(key: pair[0]) |
| 262 | + case "b5": result[.BUTTON]![5] = mapButton(key: pair[0]) |
| 263 | + case "b6": result[.BUTTON]![6] = mapButton(key: pair[0]) |
| 264 | + case "b7": result[.BUTTON]![7] = mapButton(key: pair[0]) |
| 265 | + case "b8": result[.BUTTON]![8] = mapButton(key: pair[0]) |
| 266 | + case "b9": result[.BUTTON]![9] = mapButton(key: pair[0]) |
| 267 | + case "b10": result[.BUTTON]![10] = mapButton(key: pair[0]) |
| 268 | + case "b11": result[.BUTTON]![11] = mapButton(key: pair[0]) |
| 269 | + case "b12": result[.BUTTON]![12] = mapButton(key: pair[0]) |
| 270 | + case "b13": result[.BUTTON]![13] = mapButton(key: pair[0]) |
| 271 | + case "b14": result[.BUTTON]![14] = mapButton(key: pair[0]) |
| 272 | + case "b15": result[.BUTTON]![15] = mapButton(key: pair[0]) |
| 273 | + case "b16": result[.BUTTON]![16] = mapButton(key: pair[0]) |
264 | 274 |
|
265 | 275 | default: |
266 | 276 | break |
267 | 277 | } |
268 | 278 | } |
269 | 279 |
|
| 280 | + // printHIDMapping(result) |
270 | 281 | return result |
271 | 282 | } |
272 | 283 |
|
@@ -305,7 +316,7 @@ class DeviceDatabase { |
305 | 316 |
|
306 | 317 | switch (key) { |
307 | 318 |
|
308 | | - case "a", "b", "leftshoulder", "rightshoulder": |
| 319 | + case "a", "b", "x", "y", "leftshoulder", "rightshoulder": |
309 | 320 | return [0: [.RELEASE_FIRE], 1: [.PRESS_FIRE]] |
310 | 321 | case "dpdown": |
311 | 322 | return [0: [.RELEASE_Y], 1: [.PULL_DOWN]] |
|
0 commit comments