summaryrefslogtreecommitdiff
path: root/Library/Artifacts/0c/0c3fc8882c9125c4f273d7af79ce2987
blob: 535f568911bb7ba8bf749c96ec2326307471d5b2 (plain)
ofshex dumpascii
0000 00 00 0f 81 00 00 5d a8 00 00 00 15 00 00 10 00 00 00 00 00 32 30 31 39 2e 33 2e 36 66 31 00 fe ......].............2019.3.6f1..
0020 ff ff ff 01 02 00 00 00 0b 04 00 00 00 ff ff 66 9a 86 21 eb 14 35 98 39 dd 34 1d 51 0e c1 f3 42 ...............f..!..5.9.4.Q...B
0040 00 00 00 ed 00 00 00 02 00 00 00 00 00 00 00 37 00 00 80 ff ff ff ff 00 00 00 00 00 80 00 00 00 ...............7................
0060 00 00 00 00 00 00 00 01 00 01 00 a6 03 00 80 b2 01 00 80 04 00 00 00 01 00 00 00 01 00 00 00 00 ................................
0080 00 00 00 00 00 00 00 01 00 01 00 0d 00 00 00 45 04 00 80 0c 00 00 00 02 00 00 00 01 00 00 00 00 ...............E................
00a0 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 03 00 00 00 01 00 80 00 00 ...............#................
00c0 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 04 00 00 00 01 00 80 00 00 ...............,................
00e0 00 00 00 00 00 00 00 01 00 01 00 35 00 00 00 61 04 00 80 0c 00 00 00 05 00 00 00 01 00 00 00 00 ...........5...a................
0100 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 06 00 00 00 01 00 80 00 00 ...............#................
0120 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 07 00 00 00 01 00 80 00 00 ...............,................
0140 00 00 00 00 00 00 00 01 00 01 00 86 02 00 80 72 04 00 80 0c 00 00 00 08 00 00 00 01 00 00 00 00 ...............r................
0160 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 09 00 00 00 01 00 80 00 00 ...............#................
0180 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 0a 00 00 00 01 00 80 00 00 ...............,................
01a0 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 ab 01 00 80 ff ff ff ff 0b 00 00 00 01 80 08 00 00 ...........H....................
01c0 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 0c 00 00 00 01 40 08 00 00 ...........1...1............@...
01e0 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 0d 00 00 00 01 00 08 00 00 ................................
0200 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 0e 00 00 00 01 00 08 00 00 ...........Q...j................
0220 00 00 00 00 00 00 00 01 00 01 00 f1 00 00 80 4a 00 00 00 ff ff ff ff 0f 00 00 00 00 c0 00 00 00 ...............J................
0240 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 10 00 00 00 00 80 00 00 00 ...........1...1................
0260 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 11 00 00 00 00 00 00 00 00 ................................
0280 00 00 00 00 00 00 00 01 00 03 00 1f 02 00 80 6a 00 00 80 ff ff ff ff 12 00 00 00 00 80 00 00 00 ...............j................
02a0 00 00 00 00 00 00 00 01 00 04 00 5c 00 00 00 9b 00 00 80 ff ff ff ff 13 00 00 00 00 80 00 00 00 ...........\....................
02c0 00 00 00 00 00 00 00 01 00 05 00 48 03 00 80 72 00 00 00 ff ff ff ff 14 00 00 00 00 80 00 00 00 ...........H...r................
02e0 00 00 00 00 00 00 00 01 00 06 01 31 00 00 80 31 00 00 80 ff ff ff ff 15 00 00 00 01 40 00 00 00 ...........1...1............@...
0300 00 00 00 00 00 00 00 01 00 07 00 de 00 00 80 1b 03 00 80 04 00 00 00 16 00 00 00 01 00 00 00 00 ................................
0320 00 00 00 00 00 00 00 01 00 07 00 51 00 00 80 6a 00 00 80 01 00 00 00 17 00 00 00 01 00 00 00 00 ...........Q...j................
0340 00 00 00 00 00 00 00 01 00 05 00 48 03 00 80 77 00 00 00 ff ff ff ff 18 00 00 00 00 80 00 00 00 ...........H...w................
0360 00 00 00 00 00 00 00 01 00 06 01 31 00 00 80 31 00 00 80 ff ff ff ff 19 00 00 00 01 40 00 00 00 ...........1...1............@...
0380 00 00 00 00 00 00 00 01 00 07 00 de 00 00 80 1b 03 00 80 04 00 00 00 1a 00 00 00 01 00 00 00 00 ................................
03a0 00 00 00 00 00 00 00 01 00 07 00 51 00 00 80 6a 00 00 80 01 00 00 00 1b 00 00 00 01 00 00 00 00 ...........Q...j................
03c0 00 00 00 00 00 00 00 01 00 05 00 48 03 00 80 80 00 00 00 ff ff ff ff 1c 00 00 00 00 80 00 00 00 ...........H....................
03e0 00 00 00 00 00 00 00 01 00 06 01 31 00 00 80 31 00 00 80 ff ff ff ff 1d 00 00 00 01 40 00 00 00 ...........1...1............@...
0400 00 00 00 00 00 00 00 01 00 07 00 de 00 00 80 1b 03 00 80 04 00 00 00 1e 00 00 00 01 00 00 00 00 ................................
0420 00 00 00 00 00 00 00 01 00 07 00 51 00 00 80 6a 00 00 80 01 00 00 00 1f 00 00 00 01 00 00 00 00 ...........Q...j................
0440 00 00 00 00 00 00 00 01 00 04 00 79 02 00 80 0a 03 00 80 0c 00 00 00 20 00 00 00 00 00 00 00 00 ...........y....................
0460 00 00 00 00 00 00 00 01 00 05 00 de 00 00 80 23 00 00 00 04 00 00 00 21 00 00 00 01 00 80 00 00 ...............#.......!........
0480 00 00 00 00 00 00 00 01 00 05 00 2e 03 00 80 2c 00 00 00 08 00 00 00 22 00 00 00 01 00 80 00 00 ...............,......."........
04a0 00 00 00 00 00 00 00 01 00 01 00 11 03 00 80 85 00 00 00 ff ff ff ff 23 00 00 00 01 40 08 00 00 .......................#....@...
04c0 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 24 00 00 00 01 00 08 00 00 ...........1...1.......$........
04e0 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 25 00 00 00 01 00 08 00 00 .......................%........
0500 00 00 00 00 00 00 00 01 00 03 00 2e 03 00 80 6a 00 00 80 08 00 00 00 26 00 00 00 01 00 08 00 00 ...............j.......&........
0520 00 00 00 00 00 00 00 01 00 01 00 d5 03 00 80 93 00 00 00 ff ff ff ff 27 00 00 00 00 80 00 00 00 .......................'........
0540 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 28 00 00 00 00 c0 00 00 00 ...........1...1.......(........
0560 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 29 00 00 00 00 00 00 00 00 .......................)........
0580 00 00 00 00 00 00 00 01 00 03 00 1f 02 00 80 6a 00 00 80 ff ff ff ff 2a 00 00 00 00 80 00 00 00 ...............j.......*........
05a0 00 00 00 00 00 00 00 01 00 04 00 48 03 00 80 9b 00 00 80 ff ff ff ff 2b 00 00 00 00 80 00 00 00 ...........H...........+........
05c0 00 00 00 00 00 00 00 01 00 05 01 31 00 00 80 31 00 00 80 ff ff ff ff 2c 00 00 00 01 40 00 00 00 ...........1...1.......,....@...
05e0 00 00 00 00 00 00 00 01 00 06 00 de 00 00 80 1b 03 00 80 04 00 00 00 2d 00 00 00 01 00 00 00 00 .......................-........
0600 00 00 00 00 00 00 00 01 00 06 00 51 00 00 80 6a 00 00 80 01 00 00 00 2e 00 00 00 01 00 00 00 00 ...........Q...j................
0620 00 00 00 00 00 00 00 01 00 04 00 79 02 00 80 0a 03 00 80 0c 00 00 00 2f 00 00 00 00 00 00 00 00 ...........y.........../........
0640 00 00 00 00 00 00 00 01 00 05 00 de 00 00 80 23 00 00 00 04 00 00 00 30 00 00 00 01 00 80 00 00 ...............#.......0........
0660 00 00 00 00 00 00 00 01 00 05 00 2e 03 00 80 2c 00 00 00 08 00 00 00 31 00 00 00 01 00 80 00 00 ...............,.......1........
0680 00 00 00 00 00 00 00 01 00 01 00 20 03 00 80 a7 00 00 00 02 00 00 00 32 00 00 00 00 40 00 00 00 .......................2....@...
06a0 00 00 00 00 00 00 00 01 00 01 00 be 02 00 80 b6 00 00 00 0c 00 00 00 33 00 00 00 00 40 00 00 00 .......................3....@...
06c0 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 23 00 00 00 04 00 00 00 34 00 00 00 01 00 80 00 00 ...............#.......4........
06e0 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 2c 00 00 00 08 00 00 00 35 00 00 00 01 00 80 00 00 ...............,.......5........
0700 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 bb 00 00 00 ff ff ff ff 36 00 00 00 01 80 00 00 00 ...........H...........6........
0720 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 37 00 00 00 01 40 00 00 00 ...........1...1.......7....@...
0740 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 38 00 00 00 01 00 00 00 00 .......................8........
0760 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 39 00 00 00 01 00 00 00 00 ...........Q...j.......9........
0780 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 c6 00 00 00 ff ff ff ff 3a 00 00 00 01 80 00 00 00 ...........H...........:........
07a0 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 3b 00 00 00 01 40 00 00 00 ...........1...1.......;....@...
07c0 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 3c 00 00 00 01 00 00 00 00 .......................<........
07e0 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 3d 00 00 00 01 00 00 00 00 ...........Q...j.......=........
0800 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 d8 00 00 00 ff ff ff ff 3e 00 00 00 01 80 00 00 00 ...........H...........>........
0820 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 00 00 80 ff ff ff ff 3f 00 00 00 01 40 00 00 00 ...........1...1.......?....@...
0840 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b 03 00 80 04 00 00 00 40 00 00 00 01 00 00 00 00 .......................@........
0860 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a 00 00 80 01 00 00 00 41 00 00 00 01 00 00 00 00 ...........Q...j.......A........
0880 00 00 00 00 00 00 00 4d 6f 6e 6f 49 6d 70 6f 72 74 65 72 00 50 50 74 72 3c 45 64 69 74 6f 72 45 .......MonoImporter.PPtr<EditorE
08a0 78 74 65 6e 73 69 6f 6e 3e 00 6d 5f 46 69 6c 65 49 44 00 6d 5f 50 61 74 68 49 44 00 50 50 74 72 xtension>.m_FileID.m_PathID.PPtr
08c0 3c 50 72 65 66 61 62 49 6e 73 74 61 6e 63 65 3e 00 6d 5f 45 78 74 65 72 6e 61 6c 4f 62 6a 65 63 <PrefabInstance>.m_ExternalObjec
08e0 74 73 00 53 6f 75 72 63 65 41 73 73 65 74 49 64 65 6e 74 69 66 69 65 72 00 74 79 70 65 00 61 73 ts.SourceAssetIdentifier.type.as
0900 73 65 6d 62 6c 79 00 6e 61 6d 65 00 6d 5f 55 73 65 64 46 69 6c 65 49 44 73 00 6d 5f 44 65 66 61 sembly.name.m_UsedFileIDs.m_Defa
0920 75 6c 74 52 65 66 65 72 65 6e 63 65 73 00 65 78 65 63 75 74 69 6f 6e 4f 72 64 65 72 00 69 63 6f ultReferences.executionOrder.ico
0940 6e 00 6d 5f 55 73 65 72 44 61 74 61 00 6d 5f 41 73 73 65 74 42 75 6e 64 6c 65 4e 61 6d 65 00 6d n.m_UserData.m_AssetBundleName.m
0960 5f 41 73 73 65 74 42 75 6e 64 6c 65 56 61 72 69 61 6e 74 00 00 00 00 00 73 00 00 00 00 ff ff a3 _AssetBundleVariant.....s.......
0980 47 f1 d7 dc 8f 5a 35 36 a0 3a 21 40 69 c1 4a 2a 00 00 00 81 00 00 00 05 00 00 00 15 01 00 80 37 G....Z56.:!@i.J*...............7
09a0 00 00 80 ff ff ff ff 00 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 01 00 01 00 a6 03 00 80 b2 ................................
09c0 01 00 80 04 00 00 00 01 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 00 00 00 00 45 ...............................E
09e0 04 00 80 0c 00 00 00 02 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 ................................
0a00 00 00 00 04 00 00 00 03 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f ................................
0a20 00 00 00 08 00 00 00 04 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 28 00 00 00 61 ...........................(...a
0a40 04 00 80 0c 00 00 00 05 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 ................................
0a60 00 00 00 04 00 00 00 06 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f ................................
0a80 00 00 00 08 00 00 00 07 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 86 02 00 80 72 ...............................r
0aa0 04 00 80 0c 00 00 00 08 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 ................................
0ac0 00 00 00 04 00 00 00 09 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f ................................
0ae0 00 00 00 08 00 00 00 0a 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 ab ...........................H....
0b00 01 00 80 ff ff ff ff 0b 00 00 00 01 80 08 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 ...........................1...1
0b20 00 00 80 ff ff ff ff 0c 00 00 00 01 40 08 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b ............@...................
0b40 03 00 80 04 00 00 00 0d 00 00 00 01 00 08 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a ...........................Q...j
0b60 00 00 80 01 00 00 00 0e 00 00 00 01 00 08 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 ea ...........................H....
0b80 01 00 80 ff ff ff ff 0f 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 ...........................1...1
0ba0 00 00 80 ff ff ff ff 10 00 00 00 01 40 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b ............@...................
0bc0 03 00 80 04 00 00 00 11 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a ...........................Q...j
0be0 00 00 80 01 00 00 00 12 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 f1 00 00 80 3d ...............................=
0c00 00 00 00 ff ff ff ff 13 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 ...........................1...1
0c20 00 00 80 ff ff ff ff 14 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b ................................
0c40 03 00 80 04 00 00 00 15 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 1f 02 00 80 6a ...............................j
0c60 00 00 80 ff ff ff ff 16 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 04 00 48 03 00 80 9b ...........................H....
0c80 00 00 80 ff ff ff ff 17 00 00 00 01 80 00 00 00 00 00 00 00 00 00 00 01 00 05 01 31 00 00 80 31 ...........................1...1
0ca0 00 00 80 ff ff ff ff 18 00 00 00 01 40 00 00 00 00 00 00 00 00 00 00 01 00 06 00 de 00 00 80 1b ............@...................
0cc0 03 00 80 04 00 00 00 19 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 06 00 51 00 00 80 6a ...........................Q...j
0ce0 00 00 80 01 00 00 00 1a 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 04 00 79 02 00 80 0a ...........................y....
0d00 03 00 80 0c 00 00 00 1b 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 01 00 05 00 de 00 00 80 16 ................................
0d20 00 00 00 04 00 00 00 1c 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 05 00 2e 03 00 80 1f ................................
0d40 00 00 00 08 00 00 00 1d 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 79 02 00 80 51 ...........................y...Q
0d60 00 00 00 0c 00 00 00 1e 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 02 00 de 00 00 80 16 ................................
0d80 00 00 00 04 00 00 00 1f 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 02 00 2e 03 00 80 1f ................................
0da0 00 00 00 08 00 00 00 20 00 00 00 01 00 80 00 00 00 00 00 00 00 00 00 01 00 01 00 de 00 00 80 58 ...............................X
0dc0 00 00 00 04 00 00 00 21 00 00 00 10 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 69 .......!...................H...i
0de0 00 00 00 ff ff ff ff 22 00 00 00 10 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 ......."...................1...1
0e00 00 00 80 ff ff ff ff 23 00 00 00 11 40 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b .......#....@...................
0e20 03 00 80 04 00 00 00 24 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a .......$...................Q...j
0e40 00 00 80 01 00 00 00 25 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 01 00 01 00 48 03 00 80 75 .......%...................H...u
0e60 00 00 00 ff ff ff ff 26 00 00 00 10 80 00 00 00 00 00 00 00 00 00 00 01 00 02 01 31 00 00 80 31 .......&...................1...1
0e80 00 00 80 ff ff ff ff 27 00 00 00 11 40 00 00 00 00 00 00 00 00 00 00 01 00 03 00 de 00 00 80 1b .......'....@...................
0ea0 03 00 80 04 00 00 00 28 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 01 00 03 00 51 00 00 80 6a .......(...................Q...j
0ec0 00 00 80 01 00 00 00 29 00 00 00 11 00 00 00 00 00 00 00 00 00 00 00 50 50 74 72 3c 45 64 69 74 .......)...............PPtr<Edit
0ee0 6f 72 45 78 74 65 6e 73 69 6f 6e 3e 00 6d 5f 46 69 6c 65 49 44 00 6d 5f 50 61 74 68 49 44 00 50 orExtension>.m_FileID.m_PathID.P
0f00 50 74 72 3c 50 72 65 66 61 62 49 6e 73 74 61 6e 63 65 3e 00 6d 5f 44 65 66 61 75 6c 74 52 65 66 Ptr<PrefabInstance>.m_DefaultRef
0f20 65 72 65 6e 63 65 73 00 6d 5f 49 63 6f 6e 00 6d 5f 45 78 65 63 75 74 69 6f 6e 4f 72 64 65 72 00 erences.m_Icon.m_ExecutionOrder.
0f40 6d 5f 43 6c 61 73 73 4e 61 6d 65 00 6d 5f 4e 61 6d 65 73 70 61 63 65 00 00 00 00 00 02 00 00 00 m_ClassName.m_Namespace.........
0f60 03 00 00 00 00 00 00 00 00 00 00 00 5c 00 00 00 00 00 00 00 e0 79 af 00 00 00 00 00 60 00 00 00 ............\........y......`...
0f80 48 4d 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 HM..............................
0fa0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fc0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
0fe0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1020 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 e0 79 af 00 00 00 00 00 00 00 00 00 .....................y..........
1040 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1060 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................................
1080 00 00 00 00 00 00 00 00 09 00 00 00 48 49 44 50 61 72 73 65 72 00 00 00 c5 4c 00 00 75 73 69 6e ............HIDParser....L..usin
10a0 67 20 53 79 73 74 65 6d 3b 0d 0a 75 73 69 6e 67 20 53 79 73 74 65 6d 2e 43 6f 6c 6c 65 63 74 69 g.System;..using.System.Collecti
10c0 6f 6e 73 2e 47 65 6e 65 72 69 63 3b 0d 0a 0d 0a 2f 2f 2f 2f 54 4f 44 4f 3a 20 61 72 72 61 79 20 ons.Generic;....////TODO:.array.
10e0 73 75 70 70 6f 72 74 0d 0a 2f 2f 2f 2f 54 4f 44 4f 3a 20 64 65 6c 69 6d 69 74 65 72 20 73 75 70 support..////TODO:.delimiter.sup
1100 70 6f 72 74 0d 0a 2f 2f 2f 2f 54 4f 44 4f 3a 20 64 65 73 69 67 6e 61 74 6f 72 20 73 75 70 70 6f port..////TODO:.designator.suppo
1120 72 74 0d 0a 0d 0a 23 70 72 61 67 6d 61 20 77 61 72 6e 69 6e 67 20 64 69 73 61 62 6c 65 20 43 53 rt....#pragma.warning.disable.CS
1140 30 36 34 39 0d 0a 6e 61 6d 65 73 70 61 63 65 20 55 6e 69 74 79 45 6e 67 69 6e 65 2e 49 6e 70 75 0649..namespace.UnityEngine.Inpu
1160 74 53 79 73 74 65 6d 2e 48 49 44 0d 0a 7b 0d 0a 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 tSystem.HID..{......///.<summary
1180 3e 0d 0a 20 20 20 20 2f 2f 2f 20 54 75 72 6e 73 20 62 69 6e 61 72 79 20 48 49 44 20 64 65 73 63 >......///.Turns.binary.HID.desc
11a0 72 69 70 74 6f 72 73 20 69 6e 74 6f 20 3c 73 65 65 20 63 72 65 66 3d 22 48 49 44 2e 48 49 44 44 riptors.into.<see.cref="HID.HIDD
11c0 65 76 69 63 65 44 65 73 63 72 69 70 74 6f 72 22 2f 3e 20 69 6e 73 74 61 6e 63 65 73 2e 0d 0a 20 eviceDescriptor"/>.instances....
11e0 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 ...///.</summary>......///.<rema
1200 72 6b 73 3e 0d 0a 20 20 20 20 2f 2f 2f 20 46 6f 72 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 61 62 rks>......///.For.information.ab
1220 6f 75 74 20 74 68 65 20 66 6f 72 6d 61 74 2c 20 73 65 65 20 74 68 65 20 3c 61 20 68 72 65 66 3d out.the.format,.see.the.<a.href=
1240 22 68 74 74 70 3a 2f 2f 77 77 77 2e 75 73 62 2e 6f 72 67 2f 64 65 76 65 6c 6f 70 65 72 73 2f 68 "http://www.usb.org/developers/h
1260 69 64 70 61 67 65 2f 48 49 44 31 5f 31 31 2e 70 64 66 22 3e 0d 0a 20 20 20 20 2f 2f 2f 20 44 65 idpage/HID1_11.pdf">......///.De
1280 76 69 63 65 20 43 6c 61 73 73 20 44 65 66 69 6e 69 74 69 6f 6e 20 66 6f 72 20 48 75 6d 61 6e 20 vice.Class.Definition.for.Human.
12a0 49 6e 74 65 72 66 61 63 65 20 44 65 76 69 63 65 73 3c 2f 61 3e 20 73 65 63 74 69 6f 6e 20 36 2e Interface.Devices</a>.section.6.
12c0 32 2e 32 2e 0d 0a 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 69 6e 2.2.......///.</remarks>......in
12e0 74 65 72 6e 61 6c 20 73 74 61 74 69 63 20 63 6c 61 73 73 20 48 49 44 50 61 72 73 65 72 0d 0a 20 ternal.static.class.HIDParser...
1300 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 75 6d 6d 61 72 79 3e 0d 0a 20 20 20 ...{..........///.<summary>.....
1320 20 20 20 20 20 2f 2f 2f 20 50 61 72 73 65 20 61 20 48 49 44 20 72 65 70 6f 72 74 20 64 65 73 63 .....///.Parse.a.HID.report.desc
1340 72 69 70 74 6f 72 20 61 73 20 64 65 66 69 6e 65 64 20 62 79 20 73 65 63 74 69 6f 6e 20 36 2e 32 riptor.as.defined.by.section.6.2
1360 2e 32 20 6f 66 20 74 68 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 61 20 68 72 65 66 3d 22 .2.of.the..........///.<a.href="
1380 68 74 74 70 3a 2f 2f 77 77 77 2e 75 73 62 2e 6f 72 67 2f 64 65 76 65 6c 6f 70 65 72 73 2f 68 69 http://www.usb.org/developers/hi
13a0 64 70 61 67 65 2f 48 49 44 31 5f 31 31 2e 70 64 66 22 3e 48 49 44 0d 0a 20 20 20 20 20 20 20 20 dpage/HID1_11.pdf">HID..........
13c0 2f 2f 2f 20 73 70 65 63 69 66 69 63 61 74 69 6f 6e 3c 2f 61 3e 20 61 6e 64 20 61 64 64 20 74 68 ///.specification</a>.and.add.th
13e0 65 20 65 6c 65 6d 65 6e 74 73 20 61 6e 64 20 63 6f 6c 6c 65 63 74 69 6f 6e 73 20 66 72 6f 6d 20 e.elements.and.collections.from.
1400 74 68 65 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 64 65 73 63 72 69 70 74 6f 72 20 74 6f 20 74 the..........///.descriptor.to.t
1420 68 65 20 67 69 76 65 6e 20 3c 70 61 72 61 6d 72 65 66 20 6e 61 6d 65 3d 22 64 65 76 69 63 65 44 he.given.<paramref.name="deviceD
1440 65 73 63 72 69 70 74 6f 72 22 2f 3e 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 2f 73 75 6d escriptor"/>...........///.</sum
1460 6d 61 72 79 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 mary>..........///.<param.name="
1480 62 75 66 66 65 72 22 3e 42 75 66 66 65 72 20 63 6f 6e 74 61 69 6e 69 6e 67 20 72 61 77 20 48 49 buffer">Buffer.containing.raw.HI
14a0 44 20 72 65 70 6f 72 74 20 64 65 73 63 72 69 70 74 6f 72 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 D.report.descriptor.</param>....
14c0 20 20 20 20 20 20 2f 2f 2f 20 3c 70 61 72 61 6d 20 6e 61 6d 65 3d 22 64 65 76 69 63 65 44 65 73 ......///.<param.name="deviceDes
14e0 63 72 69 70 74 6f 72 22 3e 48 49 44 20 64 65 76 69 63 65 20 64 65 73 63 72 69 70 74 6f 72 20 74 criptor">HID.device.descriptor.t
1500 6f 20 63 6f 6d 70 6c 65 74 65 20 77 69 74 68 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 0d o.complete.with.the.information.
1520 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 66 72 6f 6d 20 74 68 65 20 72 65 70 6f 72 74 20 64 65 73 .........///.from.the.report.des
1540 63 72 69 70 74 6f 72 2e 20 45 6c 65 6d 65 6e 74 73 20 61 6e 64 20 63 6f 6c 6c 65 63 74 69 6f 6e criptor..Elements.and.collection
1560 73 20 77 69 6c 6c 20 67 65 74 20 61 64 64 65 64 20 74 6f 20 74 68 69 73 20 64 65 73 63 72 69 70 s.will.get.added.to.this.descrip
1580 74 6f 72 2e 3c 2f 70 61 72 61 6d 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 74 75 72 tor.</param>..........///.<retur
15a0 6e 73 3e 54 72 75 65 20 69 66 20 74 68 65 20 72 65 70 6f 72 74 20 64 65 73 63 72 69 70 74 6f 72 ns>True.if.the.report.descriptor
15c0 20 77 61 73 20 73 75 63 63 65 73 73 66 75 6c 6c 79 20 70 61 72 73 65 64 2e 3c 2f 72 65 74 75 72 .was.successfully.parsed.</retur
15e0 6e 73 3e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 ns>..........///.<remarks>......
1600 20 20 20 20 2f 2f 2f 20 57 69 6c 6c 20 61 6c 73 6f 20 73 65 74 20 3c 73 65 65 20 63 72 65 66 3d ....///.Will.also.set.<see.cref=
1620 22 48 49 44 2e 48 49 44 44 65 76 69 63 65 44 65 73 63 72 69 70 74 6f 72 2e 69 6e 70 75 74 52 65 "HID.HIDDeviceDescriptor.inputRe
1640 70 6f 72 74 53 69 7a 65 22 2f 3e 2c 0d 0a 20 20 20 20 20 20 20 20 2f 2f 2f 20 3c 73 65 65 20 63 portSize"/>,..........///.<see.c
1660 72 65 66 3d 22 48 49 44 2e 48 49 44 44 65 76 69 63 65 44 65 73 63 72 69 70 74 6f 72 2e 6f 75 74 ref="HID.HIDDeviceDescriptor.out
1680 70 75 74 52 65 70 6f 72 74 53 69 7a 65 22 2f 3e 2c 20 61 6e 64 0d 0a 20 20 20 20 20 20 20 20 2f putReportSize"/>,.and........../
16a0 2f 2f 20 3c 73 65 65 20 63 72 65 66 3d 22 48 49 44 2e 48 49 44 44 65 76 69 63 65 44 65 73 63 72 //.<see.cref="HID.HIDDeviceDescr
16c0 69 70 74 6f 72 2e 66 65 61 74 75 72 65 52 65 70 6f 72 74 53 69 7a 65 22 2f 3e 2e 0d 0a 20 20 20 iptor.featureReportSize"/>......
16e0 20 20 20 20 20 2f 2f 2f 20 3c 2f 72 65 6d 61 72 6b 73 3e 0d 0a 20 20 20 20 20 20 20 20 70 75 62 .....///.</remarks>..........pub
1700 6c 69 63 20 73 74 61 74 69 63 20 75 6e 73 61 66 65 20 62 6f 6f 6c 20 50 61 72 73 65 52 65 70 6f lic.static.unsafe.bool.ParseRepo
1720 72 74 44 65 73 63 72 69 70 74 6f 72 28 62 79 74 65 5b 5d 20 62 75 66 66 65 72 2c 20 72 65 66 20 rtDescriptor(byte[].buffer,.ref.
1740 48 49 44 2e 48 49 44 44 65 76 69 63 65 44 65 73 63 72 69 70 74 6f 72 20 64 65 76 69 63 65 44 65 HID.HIDDeviceDescriptor.deviceDe
1760 73 63 72 69 70 74 6f 72 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 scriptor)..........{............
1780 20 20 69 66 20 28 62 75 66 66 65 72 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 ..if.(buffer.==.null)...........
17a0 20 20 20 20 20 20 20 74 68 72 6f 77 20 6e 65 77 20 41 72 67 75 6d 65 6e 74 4e 75 6c 6c 45 78 63 .......throw.new.ArgumentNullExc
17c0 65 70 74 69 6f 6e 28 6e 61 6d 65 6f 66 28 62 75 66 66 65 72 29 29 3b 0d 0a 0d 0a 20 20 20 20 20 eption(nameof(buffer));.........
17e0 20 20 20 20 20 20 20 66 69 78 65 64 28 62 79 74 65 2a 20 62 75 66 66 65 72 50 74 72 20 3d 20 62 .......fixed(byte*.bufferPtr.=.b
1800 75 66 66 65 72 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 uffer)..............{...........
1820 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 50 61 72 73 65 52 65 70 6f 72 74 44 65 73 63 72 69 70 .......return.ParseReportDescrip
1840 74 6f 72 28 62 75 66 66 65 72 50 74 72 2c 20 62 75 66 66 65 72 2e 4c 65 6e 67 74 68 2c 20 72 65 tor(bufferPtr,.buffer.Length,.re
1860 66 20 64 65 76 69 63 65 44 65 73 63 72 69 70 74 6f 72 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 f.deviceDescriptor);............
1880 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 ..}..........}............public
18a0 20 75 6e 73 61 66 65 20 73 74 61 74 69 63 20 62 6f 6f 6c 20 50 61 72 73 65 52 65 70 6f 72 74 44 .unsafe.static.bool.ParseReportD
18c0 65 73 63 72 69 70 74 6f 72 28 62 79 74 65 2a 20 62 75 66 66 65 72 50 74 72 2c 20 69 6e 74 20 62 escriptor(byte*.bufferPtr,.int.b
18e0 75 66 66 65 72 4c 65 6e 67 74 68 2c 20 72 65 66 20 48 49 44 2e 48 49 44 44 65 76 69 63 65 44 65 ufferLength,.ref.HID.HIDDeviceDe
1900 73 63 72 69 70 74 6f 72 20 64 65 76 69 63 65 44 65 73 63 72 69 70 74 6f 72 29 0d 0a 20 20 20 20 scriptor.deviceDescriptor)......
1920 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 74 65 6d 20 73 74 61 74 65 ....{..............//.Item.state
1940 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6c 6f 63 61 6c 49 74 65 6d 53 74 61 74 ...............var.localItemStat
1960 65 20 3d 20 6e 65 77 20 48 49 44 49 74 65 6d 53 74 61 74 65 4c 6f 63 61 6c 28 29 3b 0d 0a 20 20 e.=.new.HIDItemStateLocal();....
1980 20 20 20 20 20 20 20 20 20 20 76 61 72 20 67 6c 6f 62 61 6c 49 74 65 6d 53 74 61 74 65 20 3d 20 ..........var.globalItemState.=.
19a0 6e 65 77 20 48 49 44 49 74 65 6d 53 74 61 74 65 47 6c 6f 62 61 6c 28 29 3b 0d 0a 0d 0a 20 20 20 new.HIDItemStateGlobal();.......
19c0 20 20 20 20 20 20 20 20 20 2f 2f 20 4c 69 73 74 73 20 77 68 65 72 65 20 77 65 20 61 63 63 75 6d .........//.Lists.where.we.accum
19e0 75 6c 61 74 65 20 74 68 65 20 64 61 74 61 20 66 72 6f 6d 20 74 68 65 20 48 49 44 20 69 74 65 6d ulate.the.data.from.the.HID.item
1a00 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 72 65 70 6f 72 74 73 20 3d 20 6e 65 s...............var.reports.=.ne
1a20 77 20 4c 69 73 74 3c 48 49 44 52 65 70 6f 72 74 44 61 74 61 3e 28 29 3b 0d 0a 20 20 20 20 20 20 w.List<HIDReportData>();........
1a40 20 20 20 20 20 20 76 61 72 20 65 6c 65 6d 65 6e 74 73 20 3d 20 6e 65 77 20 4c 69 73 74 3c 48 49 ......var.elements.=.new.List<HI
1a60 44 2e 48 49 44 45 6c 65 6d 65 6e 74 44 65 73 63 72 69 70 74 6f 72 3e 28 29 3b 0d 0a 20 20 20 20 D.HIDElementDescriptor>();......
1a80 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 6c 6c 65 63 74 69 6f 6e 73 20 3d 20 6e 65 77 20 4c 69 ........var.collections.=.new.Li
1aa0 73 74 3c 48 49 44 2e 48 49 44 43 6f 6c 6c 65 63 74 69 6f 6e 44 65 73 63 72 69 70 74 6f 72 3e 28 st<HID.HIDCollectionDescriptor>(
1ac0 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 75 72 72 65 6e 74 43 6f 6c 6c 65 );..............var.currentColle
1ae0 63 74 69 6f 6e 20 3d 20 2d 31 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 50 61 ction.=.-1;................//.Pa
1b00 72 73 65 20 74 68 65 20 6c 69 6e 65 61 72 20 6c 69 73 74 20 6f 66 20 69 74 65 6d 73 2e 0d 0a 20 rse.the.linear.list.of.items....
1b20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 65 6e 64 50 74 72 20 3d 20 62 75 66 66 65 72 50 74 ...........var.endPtr.=.bufferPt
1b40 72 20 2b 20 62 75 66 66 65 72 4c 65 6e 67 74 68 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 76 r.+.bufferLength;..............v
1b60 61 72 20 63 75 72 72 65 6e 74 50 74 72 20 3d 20 62 75 66 66 65 72 50 74 72 3b 0d 0a 20 20 20 20 ar.currentPtr.=.bufferPtr;......
1b80 20 20 20 20 20 20 20 20 77 68 69 6c 65 20 28 63 75 72 72 65 6e 74 50 74 72 20 3c 20 65 6e 64 50 ........while.(currentPtr.<.endP
1ba0 74 72 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 tr)..............{..............
1bc0 20 20 20 20 76 61 72 20 66 69 72 73 74 42 79 74 65 20 3d 20 2a 63 75 72 72 65 6e 74 50 74 72 3b ....var.firstByte.=.*currentPtr;
1be0 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f 54 4f 44 4f 0d 0a 20 20 ....................////TODO....
1c00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 66 69 72 73 74 42 79 74 65 20 3d 3d 20 30 ..............if.(firstByte.==.0
1c20 78 46 45 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 74 68 72 6f 77 20 xFE)......................throw.
1c40 6e 65 77 20 4e 6f 74 49 6d 70 6c 65 6d 65 6e 74 65 64 45 78 63 65 70 74 69 6f 6e 28 22 6c 6f 6e new.NotImplementedException("lon
1c60 67 20 69 74 65 6d 20 73 75 70 70 6f 72 74 22 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 g.item.support");...............
1c80 20 20 20 20 20 2f 2f 20 52 65 61 64 20 69 74 65 6d 20 68 65 61 64 65 72 2e 0d 0a 20 20 20 20 20 .....//.Read.item.header........
1ca0 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 69 74 65 6d 53 69 7a 65 20 3d 20 28 62 79 74 65 29 ...........var.itemSize.=.(byte)
1cc0 28 66 69 72 73 74 42 79 74 65 20 26 20 30 78 33 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 (firstByte.&.0x3);..............
1ce0 20 20 20 20 76 61 72 20 69 74 65 6d 54 79 70 65 41 6e 64 54 61 67 20 3d 20 28 62 79 74 65 29 28 ....var.itemTypeAndTag.=.(byte)(
1d00 66 69 72 73 74 42 79 74 65 20 26 20 30 78 46 43 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 firstByte.&.0xFC);..............
1d20 20 20 20 20 2b 2b 63 75 72 72 65 6e 74 50 74 72 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ....++currentPtr;...............
1d40 20 20 20 20 20 2f 2f 20 50 72 6f 63 65 73 73 20 69 74 65 6d 2e 0d 0a 20 20 20 20 20 20 20 20 20 .....//.Process.item............
1d60 20 20 20 20 20 20 20 73 77 69 74 63 68 20 28 69 74 65 6d 54 79 70 65 41 6e 64 54 61 67 29 0d 0a .......switch.(itemTypeAndTag)..
1d80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ................{...............
1da0 20 20 20 20 20 20 20 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 47 6c 6f 62 61 6c 20 49 74 .......//.------------.Global.It
1dc0 65 6d 73 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 ems.--------------..............
1de0 20 20 20 20 20 20 20 20 2f 2f 20 54 68 65 73 65 20 73 65 74 20 69 74 65 6d 20 73 74 61 74 65 20 ........//.These.set.item.state.
1e00 70 65 72 6d 61 6e 65 6e 74 6c 79 20 75 6e 74 69 6c 20 69 74 20 69 73 20 72 65 73 65 74 2e 0d 0a permanently.until.it.is.reset...
1e20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 55 73 61 67 65 20 50 ......................//.Usage.P
1e40 61 67 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 28 69 age......................case.(i
1e60 6e 74 29 48 49 44 49 74 65 6d 54 79 70 65 41 6e 64 54 61 67 2e 55 73 61 67 65 50 61 67 65 3a 0d nt)HIDItemTypeAndTag.UsagePage:.
1e80 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 6c 6f 62 61 6c 49 .........................globalI
1ea0 74 65 6d 53 74 61 74 65 2e 75 73 61 67 65 50 61 67 65 20 3d 20 52 65 61 64 44 61 74 61 28 69 74 temState.usagePage.=.ReadData(it
1ec0 65 6d 53 69 7a 65 2c 20 63 75 72 72 65 6e 74 50 74 72 2c 20 65 6e 64 50 74 72 29 3b 0d 0a 20 20 emSize,.currentPtr,.endPtr);....
1ee0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 0d 0a ......................break;....
1f00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 65 70 6f 72 74 20 43 6f ....................//.Report.Co
1f20 75 6e 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 28 69 unt......................case.(i
1f40 6e 74 29 48 49 44 49 74 65 6d 54 79 70 65 41 6e 64 54 61 67 2e 52 65 70 6f 72 74 43 6f 75 6e 74 nt)HIDItemTypeAndTag.ReportCount
1f60 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 6c 6f 62 61 :..........................globa
1f80 6c 49 74 65 6d 53 74 61 74 65 2e 72 65 70 6f 72 74 43 6f 75 6e 74 20 3d 20 52 65 61 64 44 61 74 lItemState.reportCount.=.ReadDat
1fa0 61 28 69 74 65 6d 53 69 7a 65 2c 20 63 75 72 72 65 6e 74 50 74 72 2c 20 65 6e 64 50 74 72 29 3b a(itemSize,.currentPtr,.endPtr);
1fc0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b ..........................break;
1fe0 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 65 70 6f 72 ........................//.Repor
2000 74 20 53 69 7a 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 t.Size......................case
2020 20 28 69 6e 74 29 48 49 44 49 74 65 6d 54 79 70 65 41 6e 64 54 61 67 2e 52 65 70 6f 72 74 53 69 .(int)HIDItemTypeAndTag.ReportSi
2040 7a 65 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 6c 6f ze:..........................glo
2060 62 61 6c 49 74 65 6d 53 74 61 74 65 2e 72 65 70 6f 72 74 53 69 7a 65 20 3d 20 52 65 61 64 44 61 balItemState.reportSize.=.ReadDa
2080 74 61 28 69 74 65 6d 53 69 7a 65 2c 20 63 75 72 72 65 6e 74 50 74 72 2c 20 65 6e 64 50 74 72 29 ta(itemSize,.currentPtr,.endPtr)
20a0 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b ;..........................break
20c0 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 65 70 6f ;........................//.Repo
20e0 72 74 20 49 44 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 rt.ID......................case.
2100 28 69 6e 74 29 48 49 44 49 74 65 6d 54 79 70 65 41 6e 64 54 61 67 2e 52 65 70 6f 72 74 49 44 3a (int)HIDItemTypeAndTag.ReportID:
2120 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 6c 6f 62 61 6c ..........................global
2140 49 74 65 6d 53 74 61 74 65 2e 72 65 70 6f 72 74 49 64 20 3d 20 52 65 61 64 44 61 74 61 28 69 74 ItemState.reportId.=.ReadData(it
2160 65 6d 53 69 7a 65 2c 20 63 75 72 72 65 6e 74 50 74 72 2c 20 65 6e 64 50 74 72 29 3b 0d 0a 20 20 emSize,.currentPtr,.endPtr);....
2180 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 0d 0a ......................break;....
21a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 4c 6f 67 69 63 61 6c 20 4d ....................//.Logical.M
21c0 69 6e 69 6d 75 6d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 inimum......................case
21e0 20 28 69 6e 74 29 48 49 44 49 74 65 6d 54 79 70 65 41 6e 64 54 61 67 2e 4c 6f 67 69 63 61 6c 4d .(int)HIDItemTypeAndTag.LogicalM
2200 69 6e 69 6d 75 6d 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 inimum:.........................
2220 20 67 6c 6f 62 61 6c 49 74 65 6d 53 74 61 74 65 2e 6c 6f 67 69 63 61 6c 4d 69 6e 69 6d 75 6d 20 .globalItemState.logicalMinimum.
2240 3d 20 52 65 61 64 44 61 74 61 28 69 74 65 6d 53 69 7a 65 2c 20 63 75 72 72 65 6e 74 50 74 72 2c =.ReadData(itemSize,.currentPtr,
2260 20 65 6e 64 50 74 72 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .endPtr);.......................
2280 20 20 20 62 72 65 61 6b 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...break;.......................
22a0 20 2f 2f 20 4c 6f 67 69 63 61 6c 20 4d 61 78 69 6d 75 6d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 .//.Logical.Maximum.............
22c0 20 20 20 20 20 20 20 20 20 63 61 73 65 20 28 69 6e 74 29 48 49 44 49 74 65 6d 54 79 70 65 41 6e .........case.(int)HIDItemTypeAn
22e0 64 54 61 67 2e 4c 6f 67 69 63 61 6c 4d 61 78 69 6d 75 6d 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 dTag.LogicalMaximum:............
2300 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 6c 6f 62 61 6c 49 74 65 6d 53 74 61 74 65 2e 6c 6f ..............globalItemState.lo
2320 67 69 63 61 6c 4d 61 78 69 6d 75 6d 20 3d 20 52 65 61 64 44 61 74 61 28 69 74 65 6d 53 69 7a 65 gicalMaximum.=.ReadData(itemSize
2340 2c 20 63 75 72 72 65 6e 74 50 74 72 2c 20 65 6e 64 50 74 72 29 3b 0d 0a 20 20 20 20 20 20 20 20 ,.currentPtr,.endPtr);..........
2360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 0d 0a 20 20 20 20 20 20 ................break;..........
2380 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 50 68 79 73 69 63 61 6c 20 4d 69 6e 69 6d 75 ..............//.Physical.Minimu
23a0 6d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 28 69 6e 74 m......................case.(int
23c0 29 48 49 44 49 74 65 6d 54 79 70 65 41 6e 64 54 61 67 2e 50 68 79 73 69 63 61 6c 4d 69 6e 69 6d )HIDItemTypeAndTag.PhysicalMinim
23e0 75 6d 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 6c 6f um:..........................glo
2400 62 61 6c 49 74 65 6d 53 74 61 74 65 2e 70 68 79 73 69 63 61 6c 4d 69 6e 69 6d 75 6d 20 3d 20 52 balItemState.physicalMinimum.=.R
2420 65 61 64 44 61 74 61 28 69 74 65 6d 53 69 7a 65 2c 20 63 75 72 72 65 6e 74 50 74 72 2c 20 65 6e eadData(itemSize,.currentPtr,.en
2440 64 50 74 72 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dPtr);..........................
2460 62 72 65 61 6b 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f break;........................//
2480 20 50 68 79 73 69 63 61 6c 20 4d 61 78 69 6d 75 6d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .Physical.Maximum...............
24a0 20 20 20 20 20 20 20 63 61 73 65 20 28 69 6e 74 29 48 49 44 49 74 65 6d 54 79 70 65 41 6e 64 54 .......case.(int)HIDItemTypeAndT
24c0 61 67 2e 50 68 79 73 69 63 61 6c 4d 61 78 69 6d 75 6d 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ag.PhysicalMaximum:.............
24e0 20 20 20 20 20 20 20 20 20 20 20 20 20 67 6c 6f 62 61 6c 49 74 65 6d 53 74 61 74 65 2e 70 68 79 .............globalItemState.phy
2500 73 69 63 61 6c 4d 61 78 69 6d 75 6d 20 3d 20 52 65 61 64 44 61 74 61 28 69 74 65 6d 53 69 7a 65 sicalMaximum.=.ReadData(itemSize
2520 2c 20 63 75 72 72 65 6e 74 50 74 72 2c 20 65 6e 64 50 74 72 29 3b 0d 0a 20 20 20 20 20 20 20 20 ,.currentPtr,.endPtr);..........
2540 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 0d 0a 20 20 20 20 20 20 ................break;..........
2560 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 55 6e 69 74 20 45 78 70 6f 6e 65 6e 74 0d 0a ..............//.Unit.Exponent..
2580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 28 69 6e 74 29 48 49 ....................case.(int)HI
25a0 44 49 74 65 6d 54 79 70 65 41 6e 64 54 61 67 2e 55 6e 69 74 45 78 70 6f 6e 65 6e 74 3a 0d 0a 20 DItemTypeAndTag.UnitExponent:...
25c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 67 6c 6f 62 61 6c 49 74 65 .......................globalIte
25e0 6d 53 74 61 74 65 2e 75 6e 69 74 45 78 70 6f 6e 65 6e 74 20 3d 20 52 65 61 64 44 61 74 61 28 69 mState.unitExponent.=.ReadData(i
2600 74 65 6d 53 69 7a 65 2c 20 63 75 72 72 65 6e 74 50 74 72 2c 20 65 6e 64 50 74 72 29 3b 0d 0a 20 temSize,.currentPtr,.endPtr);...
2620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 0d .......................break;...
2640 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 55 6e 69 74 0d 0a 20 20 .....................//.Unit....
2660 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 28 69 6e 74 29 48 49 44 49 ..................case.(int)HIDI
2680 74 65 6d 54 79 70 65 41 6e 64 54 61 67 2e 55 6e 69 74 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 temTypeAndTag.Unit:.............
26a0 20 20 20 20 20 20 20 20 20 20 20 20 20 67 6c 6f 62 61 6c 49 74 65 6d 53 74 61 74 65 2e 75 6e 69 .............globalItemState.uni
26c0 74 20 3d 20 52 65 61 64 44 61 74 61 28 69 74 65 6d 53 69 7a 65 2c 20 63 75 72 72 65 6e 74 50 74 t.=.ReadData(itemSize,.currentPt
26e0 72 2c 20 65 6e 64 50 74 72 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 r,.endPtr);.....................
2700 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....break;.....................
2720 20 20 20 2f 2f 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 4c 6f 63 61 6c 20 49 74 65 6d 73 20 2d ...//.------------.Local.Items.-
2740 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 -------------...................
2760 20 20 20 2f 2f 20 54 68 65 73 65 20 73 65 74 20 74 68 65 20 73 74 61 74 65 20 66 6f 72 20 74 68 ...//.These.set.the.state.for.th
2780 65 20 76 65 72 79 20 6e 65 78 74 20 65 6c 65 6d 65 6e 74 73 20 74 6f 20 62 65 20 67 65 6e 65 72 e.very.next.elements.to.be.gener
27a0 61 74 65 64 2e 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 ated.........................//.
27c0 55 73 61 67 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 Usage......................case.
27e0 28 69 6e 74 29 48 49 44 49 74 65 6d 54 79 70 65 41 6e 64 54 61 67 2e 55 73 61 67 65 3a 0d 0a 20 (int)HIDItemTypeAndTag.Usage:...
2800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 63 61 6c 49 74 65 6d .......................localItem
2820 53 74 61 74 65 2e 53 65 74 55 73 61 67 65 28 52 65 61 64 44 61 74 61 28 69 74 65 6d 53 69 7a 65 State.SetUsage(ReadData(itemSize
2840 2c 20 63 75 72 72 65 6e 74 50 74 72 2c 20 65 6e 64 50 74 72 29 29 3b 0d 0a 20 20 20 20 20 20 20 ,.currentPtr,.endPtr));.........
2860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 0d 0a 20 20 20 20 20 .................break;.........
2880 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 55 73 61 67 65 20 4d 69 6e 69 6d 75 6d 0d ...............//.Usage.Minimum.
28a0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 28 69 6e 74 29 48 .....................case.(int)H
28c0 49 44 49 74 65 6d 54 79 70 65 41 6e 64 54 61 67 2e 55 73 61 67 65 4d 69 6e 69 6d 75 6d 3a 0d 0a IDItemTypeAndTag.UsageMinimum:..
28e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 63 61 6c 49 74 65 ........................localIte
2900 6d 53 74 61 74 65 2e 75 73 61 67 65 4d 69 6e 69 6d 75 6d 20 3d 20 52 65 61 64 44 61 74 61 28 69 mState.usageMinimum.=.ReadData(i
2920 74 65 6d 53 69 7a 65 2c 20 63 75 72 72 65 6e 74 50 74 72 2c 20 65 6e 64 50 74 72 29 3b 0d 0a 20 temSize,.currentPtr,.endPtr);...
2940 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 0d .......................break;...
2960 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 55 73 61 67 65 20 4d 61 .....................//.Usage.Ma
2980 78 69 6d 75 6d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 ximum......................case.
29a0 28 69 6e 74 29 48 49 44 49 74 65 6d 54 79 70 65 41 6e 64 54 61 67 2e 55 73 61 67 65 4d 61 78 69 (int)HIDItemTypeAndTag.UsageMaxi
29c0 6d 75 6d 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f mum:..........................lo
29e0 63 61 6c 49 74 65 6d 53 74 61 74 65 2e 75 73 61 67 65 4d 61 78 69 6d 75 6d 20 3d 20 52 65 61 64 calItemState.usageMaximum.=.Read
2a00 44 61 74 61 28 69 74 65 6d 53 69 7a 65 2c 20 63 75 72 72 65 6e 74 50 74 72 2c 20 65 6e 64 50 74 Data(itemSize,.currentPtr,.endPt
2a20 72 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 r);..........................bre
2a40 61 6b 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 2d 2d ak;........................//.--
2a60 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d 20 4d 61 69 6e 20 49 74 65 6d 73 20 2d 2d 2d 2d 2d 2d 2d 2d 2d 2d ----------.Main.Items.----------
2a80 2d 2d 2d 2d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 54 68 65 ----......................//.The
2aa0 73 65 20 65 6d 69 74 20 74 68 69 6e 67 73 20 69 6e 74 6f 20 74 68 65 20 64 65 73 63 72 69 70 74 se.emit.things.into.the.descript
2ac0 6f 72 20 62 61 73 65 64 20 6f 6e 20 74 68 65 20 6c 6f 63 61 6c 20 61 6e 64 20 67 6c 6f 62 61 6c or.based.on.the.local.and.global
2ae0 20 69 74 65 6d 20 73 74 61 74 65 2e 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .item.state.....................
2b00 20 20 20 20 2f 2f 20 43 6f 6c 6c 65 63 74 69 6f 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 ....//.Collection...............
2b20 20 20 20 20 20 20 20 63 61 73 65 20 28 69 6e 74 29 48 49 44 49 74 65 6d 54 79 70 65 41 6e 64 54 .......case.(int)HIDItemTypeAndT
2b40 61 67 2e 43 6f 6c 6c 65 63 74 69 6f 6e 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ag.Collection:..................
2b60 20 20 20 20 20 20 20 20 20 20 2f 2f 20 53 74 61 72 74 20 6e 65 77 20 63 6f 6c 6c 65 63 74 69 6f ..........//.Start.new.collectio
2b80 6e 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 n...........................var.
2ba0 70 61 72 65 6e 74 43 6f 6c 6c 65 63 74 69 6f 6e 20 3d 20 63 75 72 72 65 6e 74 43 6f 6c 6c 65 63 parentCollection.=.currentCollec
2bc0 74 69 6f 6e 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 tion;..........................c
2be0 75 72 72 65 6e 74 43 6f 6c 6c 65 63 74 69 6f 6e 20 3d 20 63 6f 6c 6c 65 63 74 69 6f 6e 73 2e 43 urrentCollection.=.collections.C
2c00 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 ount;..........................c
2c20 6f 6c 6c 65 63 74 69 6f 6e 73 2e 41 64 64 28 6e 65 77 20 48 49 44 2e 48 49 44 43 6f 6c 6c 65 63 ollections.Add(new.HID.HIDCollec
2c40 74 69 6f 6e 44 65 73 63 72 69 70 74 6f 72 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tionDescriptor..................
2c60 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ........{.......................
2c80 20 20 20 20 20 20 20 74 79 70 65 20 3d 20 28 48 49 44 2e 48 49 44 43 6f 6c 6c 65 63 74 69 6f 6e .......type.=.(HID.HIDCollection
2ca0 54 79 70 65 29 52 65 61 64 44 61 74 61 28 69 74 65 6d 53 69 7a 65 2c 20 63 75 72 72 65 6e 74 50 Type)ReadData(itemSize,.currentP
2cc0 74 72 2c 20 65 6e 64 50 74 72 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tr,.endPtr),....................
2ce0 20 20 20 20 20 20 20 20 20 20 70 61 72 65 6e 74 20 3d 20 70 61 72 65 6e 74 43 6f 6c 6c 65 63 74 ..........parent.=.parentCollect
2d00 69 6f 6e 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ion,............................
2d20 20 20 75 73 61 67 65 50 61 67 65 20 3d 20 67 6c 6f 62 61 6c 49 74 65 6d 53 74 61 74 65 2e 47 65 ..usagePage.=.globalItemState.Ge
2d40 74 55 73 61 67 65 50 61 67 65 28 30 2c 20 72 65 66 20 6c 6f 63 61 6c 49 74 65 6d 53 74 61 74 65 tUsagePage(0,.ref.localItemState
2d60 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ),..............................
2d80 75 73 61 67 65 20 3d 20 6c 6f 63 61 6c 49 74 65 6d 53 74 61 74 65 2e 47 65 74 55 73 61 67 65 28 usage.=.localItemState.GetUsage(
2da0 30 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 0),.............................
2dc0 20 66 69 72 73 74 43 68 69 6c 64 20 3d 20 65 6c 65 6d 65 6e 74 73 2e 43 6f 75 6e 74 0d 0a 20 20 .firstChild.=.elements.Count....
2de0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 29 3b 0d 0a 0d 0a 20 20 20 ......................});.......
2e00 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 48 49 44 49 74 65 6d 53 74 61 74 .....................HIDItemStat
2e20 65 4c 6f 63 61 6c 2e 52 65 73 65 74 28 72 65 66 20 6c 6f 63 61 6c 49 74 65 6d 53 74 61 74 65 29 eLocal.Reset(ref.localItemState)
2e40 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b ;..........................break
2e60 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 45 6e 64 43 ;........................//.EndC
2e80 6f 6c 6c 65 63 74 69 6f 6e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 ollection......................c
2ea0 61 73 65 20 28 69 6e 74 29 48 49 44 49 74 65 6d 54 79 70 65 41 6e 64 54 61 67 2e 45 6e 64 43 6f ase.(int)HIDItemTypeAndTag.EndCo
2ec0 6c 6c 65 63 74 69 6f 6e 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 llection:.......................
2ee0 20 20 20 69 66 20 28 63 75 72 72 65 6e 74 43 6f 6c 6c 65 63 74 69 6f 6e 20 3d 3d 20 2d 31 29 0d ...if.(currentCollection.==.-1).
2f00 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 .............................ret
2f20 75 72 6e 20 66 61 6c 73 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 urn.false;......................
2f40 20 20 20 20 20 20 2f 2f 20 43 6c 6f 73 65 20 63 6f 6c 6c 65 63 74 69 6f 6e 2e 0d 0a 20 20 20 20 ......//.Close.collection.......
2f60 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 63 6f 6c 6c 65 63 74 69 ....................var.collecti
2f80 6f 6e 20 3d 20 63 6f 6c 6c 65 63 74 69 6f 6e 73 5b 63 75 72 72 65 6e 74 43 6f 6c 6c 65 63 74 69 on.=.collections[currentCollecti
2fa0 6f 6e 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f on];..........................co
2fc0 6c 6c 65 63 74 69 6f 6e 2e 63 68 69 6c 64 43 6f 75 6e 74 20 3d 20 65 6c 65 6d 65 6e 74 73 2e 43 llection.childCount.=.elements.C
2fe0 6f 75 6e 74 20 2d 20 63 6f 6c 6c 65 63 74 69 6f 6e 2e 66 69 72 73 74 43 68 69 6c 64 3b 0d 0a 20 ount.-.collection.firstChild;...
3000 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 6f 6c 6c 65 63 74 69 6f .......................collectio
3020 6e 73 5b 63 75 72 72 65 6e 74 43 6f 6c 6c 65 63 74 69 6f 6e 5d 20 3d 20 63 6f 6c 6c 65 63 74 69 ns[currentCollection].=.collecti
3040 6f 6e 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f on;............................/
3060 2f 20 53 77 69 74 63 68 20 62 61 63 6b 20 74 6f 20 70 61 72 65 6e 74 20 63 6f 6c 6c 65 63 74 69 /.Switch.back.to.parent.collecti
3080 6f 6e 20 28 69 66 20 61 6e 79 29 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 on.(if.any).....................
30a0 20 20 20 20 20 20 63 75 72 72 65 6e 74 43 6f 6c 6c 65 63 74 69 6f 6e 20 3d 20 63 6f 6c 6c 65 63 ......currentCollection.=.collec
30c0 74 69 6f 6e 2e 70 61 72 65 6e 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tion.parent;....................
30e0 20 20 20 20 20 20 20 20 48 49 44 49 74 65 6d 53 74 61 74 65 4c 6f 63 61 6c 2e 52 65 73 65 74 28 ........HIDItemStateLocal.Reset(
3100 72 65 66 20 6c 6f 63 61 6c 49 74 65 6d 53 74 61 74 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 ref.localItemState);............
3120 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 ..............break;............
3140 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 6e 70 75 74 2f 4f 75 74 70 75 74 2f 46 65 61 74 ............//.Input/Output/Feat
3160 75 72 65 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 28 69 ure......................case.(i
3180 6e 74 29 48 49 44 49 74 65 6d 54 79 70 65 41 6e 64 54 61 67 2e 49 6e 70 75 74 3a 0d 0a 20 20 20 nt)HIDItemTypeAndTag.Input:.....
31a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 28 69 6e 74 29 48 49 44 49 74 .................case.(int)HIDIt
31c0 65 6d 54 79 70 65 41 6e 64 54 61 67 2e 4f 75 74 70 75 74 3a 0d 0a 20 20 20 20 20 20 20 20 20 20 emTypeAndTag.Output:............
31e0 20 20 20 20 20 20 20 20 20 20 63 61 73 65 20 28 69 6e 74 29 48 49 44 49 74 65 6d 54 79 70 65 41 ..........case.(int)HIDItemTypeA
3200 6e 64 54 61 67 2e 46 65 61 74 75 72 65 3a 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ndTag.Feature:..................
3220 20 20 20 20 20 20 20 20 20 20 2f 2f 20 44 65 74 65 72 6d 69 6e 65 20 72 65 70 6f 72 74 20 74 79 ..........//.Determine.report.ty
3240 70 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 pe...........................var
3260 20 72 65 70 6f 72 74 54 79 70 65 20 3d 20 69 74 65 6d 54 79 70 65 41 6e 64 54 61 67 20 3d 3d 20 .reportType.=.itemTypeAndTag.==.
3280 28 69 6e 74 29 48 49 44 49 74 65 6d 54 79 70 65 41 6e 64 54 61 67 2e 49 6e 70 75 74 0d 0a 20 20 (int)HIDItemTypeAndTag.Input....
32a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3f 20 48 49 44 2e ..........................?.HID.
32c0 48 49 44 52 65 70 6f 72 74 54 79 70 65 2e 49 6e 70 75 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 HIDReportType.Input.............
32e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 69 74 65 6d 54 79 70 65 41 6e 64 54 61 .................:.itemTypeAndTa
3300 67 20 3d 3d 20 28 69 6e 74 29 48 49 44 49 74 65 6d 54 79 70 65 41 6e 64 54 61 67 2e 4f 75 74 70 g.==.(int)HIDItemTypeAndTag.Outp
3320 75 74 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ut..............................
3340 3f 20 48 49 44 2e 48 49 44 52 65 70 6f 72 74 54 79 70 65 2e 4f 75 74 70 75 74 0d 0a 20 20 20 20 ?.HID.HIDReportType.Output......
3360 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 3a 20 48 49 44 2e 48 49 ........................:.HID.HI
3380 44 52 65 70 6f 72 74 54 79 70 65 2e 46 65 61 74 75 72 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 DReportType.Feature;............
33a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 46 69 6e 64 20 72 65 70 6f 72 74 2e 0d ................//.Find.report..
33c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 72 65 70 .........................var.rep
33e0 6f 72 74 49 6e 64 65 78 20 3d 20 48 49 44 52 65 70 6f 72 74 44 61 74 61 2e 46 69 6e 64 4f 72 41 ortIndex.=.HIDReportData.FindOrA
3400 64 64 52 65 70 6f 72 74 28 67 6c 6f 62 61 6c 49 74 65 6d 53 74 61 74 65 2e 72 65 70 6f 72 74 49 ddReport(globalItemState.reportI
3420 64 2c 20 72 65 70 6f 72 74 54 79 70 65 2c 20 72 65 70 6f 72 74 73 29 3b 0d 0a 20 20 20 20 20 20 d,.reportType,.reports);........
3440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 72 65 70 6f 72 74 20 3d 20 72 ..................var.report.=.r
3460 65 70 6f 72 74 73 5b 72 65 70 6f 72 74 49 6e 64 65 78 5d 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 eports[reportIndex];............
3480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 77 65 20 68 61 76 65 20 61 20 ................//.If.we.have.a.
34a0 72 65 70 6f 72 74 20 49 44 2c 20 74 68 65 6e 20 72 65 70 6f 72 74 73 20 73 74 61 72 74 20 77 69 report.ID,.then.reports.start.wi
34c0 74 68 20 61 6e 20 38 20 62 79 74 65 20 72 65 70 6f 72 74 20 49 44 2e 0d 0a 20 20 20 20 20 20 20 th.an.8.byte.report.ID..........
34e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 53 68 69 66 74 20 6f 75 72 20 6f 66 .................//.Shift.our.of
3500 66 73 65 74 73 20 61 63 63 6f 72 64 69 6e 67 6c 79 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 fsets.accordingly...............
3520 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 72 65 70 6f 72 74 2e 63 75 72 72 65 6e 74 42 69 ............if.(report.currentBi
3540 74 4f 66 66 73 65 74 20 3d 3d 20 30 20 26 26 20 67 6c 6f 62 61 6c 49 74 65 6d 53 74 61 74 65 2e tOffset.==.0.&&.globalItemState.
3560 72 65 70 6f 72 74 49 64 2e 48 61 73 56 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 reportId.HasValue)..............
3580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 70 6f 72 74 2e 63 75 72 72 65 6e 74 42 69 ................report.currentBi
35a0 74 4f 66 66 73 65 74 20 3d 20 38 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tOffset.=.8;....................
35c0 20 20 20 20 20 20 20 20 2f 2f 20 41 64 64 20 65 6c 65 6d 65 6e 74 73 20 74 6f 20 72 65 70 6f 72 ........//.Add.elements.to.repor
35e0 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 t...........................var.
3600 72 65 70 6f 72 74 43 6f 75 6e 74 20 3d 20 67 6c 6f 62 61 6c 49 74 65 6d 53 74 61 74 65 2e 72 65 reportCount.=.globalItemState.re
3620 70 6f 72 74 43 6f 75 6e 74 2e 47 65 74 56 61 6c 75 65 4f 72 44 65 66 61 75 6c 74 28 31 29 3b 0d portCount.GetValueOrDefault(1);.
3640 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 66 6c 61 .........................var.fla
3660 67 73 20 3d 20 52 65 61 64 44 61 74 61 28 69 74 65 6d 53 69 7a 65 2c 20 63 75 72 72 65 6e 74 50 gs.=.ReadData(itemSize,.currentP
3680 74 72 2c 20 65 6e 64 50 74 72 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tr,.endPtr);....................
36a0 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 69 20 3d 20 30 3b 20 69 20 3c 20 72 65 70 6f 72 74 ......for.(var.i.=.0;.i.<.report
36c0 43 6f 75 6e 74 3b 20 2b 2b 69 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 Count;.++i).....................
36e0 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....{..........................
3700 20 20 20 20 76 61 72 20 65 6c 65 6d 65 6e 74 20 3d 20 6e 65 77 20 48 49 44 2e 48 49 44 45 6c 65 ....var.element.=.new.HID.HIDEle
3720 6d 65 6e 74 44 65 73 63 72 69 70 74 6f 72 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 mentDescriptor..................
3740 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ............{...................
3760 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 73 61 67 65 20 3d 20 6c 6f 63 61 6c 49 74 65 6d ...............usage.=.localItem
3780 53 74 61 74 65 2e 47 65 74 55 73 61 67 65 28 69 29 20 26 20 30 78 46 46 46 46 2c 20 2f 2f 20 4d State.GetUsage(i).&.0xFFFF,.//.M
37a0 61 73 6b 20 6f 66 66 20 75 73 61 67 65 20 70 61 67 65 2c 20 69 66 20 73 65 74 2e 0d 0a 20 20 20 ask.off.usage.page,.if.set......
37c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 73 61 .............................usa
37e0 67 65 50 61 67 65 20 3d 20 67 6c 6f 62 61 6c 49 74 65 6d 53 74 61 74 65 2e 47 65 74 55 73 61 67 gePage.=.globalItemState.GetUsag
3800 65 50 61 67 65 28 69 2c 20 72 65 66 20 6c 6f 63 61 6c 49 74 65 6d 53 74 61 74 65 29 2c 0d 0a 20 ePage(i,.ref.localItemState),...
3820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 ...............................r
3840 65 70 6f 72 74 54 79 70 65 20 3d 20 72 65 70 6f 72 74 54 79 70 65 2c 0d 0a 20 20 20 20 20 20 20 eportType.=.reportType,.........
3860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 70 6f 72 74 53 .........................reportS
3880 69 7a 65 49 6e 42 69 74 73 20 3d 20 67 6c 6f 62 61 6c 49 74 65 6d 53 74 61 74 65 2e 72 65 70 6f izeInBits.=.globalItemState.repo
38a0 72 74 53 69 7a 65 2e 47 65 74 56 61 6c 75 65 4f 72 44 65 66 61 75 6c 74 28 38 29 2c 0d 0a 20 20 rtSize.GetValueOrDefault(8),....
38c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 ..............................re
38e0 70 6f 72 74 4f 66 66 73 65 74 49 6e 42 69 74 73 20 3d 20 72 65 70 6f 72 74 2e 63 75 72 72 65 6e portOffsetInBits.=.report.curren
3900 74 42 69 74 4f 66 66 73 65 74 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 tBitOffset,.....................
3920 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 70 6f 72 74 49 64 20 3d 20 67 6c 6f 62 61 6c 49 74 .............reportId.=.globalIt
3940 65 6d 53 74 61 74 65 2e 72 65 70 6f 72 74 49 64 2e 47 65 74 56 61 6c 75 65 4f 72 44 65 66 61 75 emState.reportId.GetValueOrDefau
3960 6c 74 28 31 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lt(1),..........................
3980 20 20 20 20 20 20 20 20 66 6c 61 67 73 20 3d 20 28 48 49 44 2e 48 49 44 45 6c 65 6d 65 6e 74 46 ........flags.=.(HID.HIDElementF
39a0 6c 61 67 73 29 66 6c 61 67 73 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 lags)flags,.....................
39c0 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 67 69 63 61 6c 4d 69 6e 20 3d 20 67 6c 6f 62 61 6c .............logicalMin.=.global
39e0 49 74 65 6d 53 74 61 74 65 2e 6c 6f 67 69 63 61 6c 4d 69 6e 69 6d 75 6d 2e 47 65 74 56 61 6c 75 ItemState.logicalMinimum.GetValu
3a00 65 4f 72 44 65 66 61 75 6c 74 28 30 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eOrDefault(0),..................
3a20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 6c 6f 67 69 63 61 6c 4d 61 78 20 3d 20 67 6c 6f ................logicalMax.=.glo
3a40 62 61 6c 49 74 65 6d 53 74 61 74 65 2e 6c 6f 67 69 63 61 6c 4d 61 78 69 6d 75 6d 2e 47 65 74 56 balItemState.logicalMaximum.GetV
3a60 61 6c 75 65 4f 72 44 65 66 61 75 6c 74 28 30 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 alueOrDefault(0),...............
3a80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 70 68 79 73 69 63 61 6c 4d 69 6e 20 3d ...................physicalMin.=
3aa0 20 67 6c 6f 62 61 6c 49 74 65 6d 53 74 61 74 65 2e 47 65 74 50 68 79 73 69 63 61 6c 4d 69 6e 28 .globalItemState.GetPhysicalMin(
3ac0 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ),..............................
3ae0 20 20 20 20 70 68 79 73 69 63 61 6c 4d 61 78 20 3d 20 67 6c 6f 62 61 6c 49 74 65 6d 53 74 61 74 ....physicalMax.=.globalItemStat
3b00 65 2e 47 65 74 50 68 79 73 69 63 61 6c 4d 61 78 28 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 e.GetPhysicalMax(),.............
3b20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 69 74 45 78 70 6f 6e 65 6e .....................unitExponen
3b40 74 20 3d 20 67 6c 6f 62 61 6c 49 74 65 6d 53 74 61 74 65 2e 75 6e 69 74 45 78 70 6f 6e 65 6e 74 t.=.globalItemState.unitExponent
3b60 2e 47 65 74 56 61 6c 75 65 4f 72 44 65 66 61 75 6c 74 28 30 29 2c 0d 0a 20 20 20 20 20 20 20 20 .GetValueOrDefault(0),..........
3b80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 6e 69 74 20 3d 20 67 ........................unit.=.g
3ba0 6c 6f 62 61 6c 49 74 65 6d 53 74 61 74 65 2e 75 6e 69 74 2e 47 65 74 56 61 6c 75 65 4f 72 44 65 lobalItemState.unit.GetValueOrDe
3bc0 66 61 75 6c 74 28 30 29 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 fault(0),.......................
3be0 20 20 20 20 20 20 20 7d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......};.......................
3c00 20 20 20 20 20 20 20 72 65 70 6f 72 74 2e 63 75 72 72 65 6e 74 42 69 74 4f 66 66 73 65 74 20 2b .......report.currentBitOffset.+
3c20 3d 20 65 6c 65 6d 65 6e 74 2e 72 65 70 6f 72 74 53 69 7a 65 49 6e 42 69 74 73 3b 0d 0a 20 20 20 =.element.reportSizeInBits;.....
3c40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 65 6d 65 6e 74 .........................element
3c60 73 2e 41 64 64 28 65 6c 65 6d 65 6e 74 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 s.Add(element);.................
3c80 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .........}......................
3ca0 20 20 20 20 72 65 70 6f 72 74 73 5b 72 65 70 6f 72 74 49 6e 64 65 78 5d 20 3d 20 72 65 70 6f 72 ....reports[reportIndex].=.repor
3cc0 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 48 49 t;............................HI
3ce0 44 49 74 65 6d 53 74 61 74 65 4c 6f 63 61 6c 2e 52 65 73 65 74 28 72 65 66 20 6c 6f 63 61 6c 49 DItemStateLocal.Reset(ref.localI
3d00 74 65 6d 53 74 61 74 65 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 temState);......................
3d20 20 20 20 20 62 72 65 61 6b 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d ....break;..................}...
3d40 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 74 65 6d 53 69 7a 65 20 3d 3d .................if.(itemSize.==
3d60 20 33 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 .3)......................current
3d80 50 74 72 20 2b 3d 20 34 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 65 6c 73 65 0d Ptr.+=.4;..................else.
3da0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 63 75 72 72 65 6e 74 50 74 72 20 .....................currentPtr.
3dc0 2b 3d 20 69 74 65 6d 53 69 7a 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 +=.itemSize;..............}.....
3de0 20 20 20 20 20 20 20 20 20 20 20 64 65 76 69 63 65 44 65 73 63 72 69 70 74 6f 72 2e 65 6c 65 6d ...........deviceDescriptor.elem
3e00 65 6e 74 73 20 3d 20 65 6c 65 6d 65 6e 74 73 2e 54 6f 41 72 72 61 79 28 29 3b 0d 0a 20 20 20 20 ents.=.elements.ToArray();......
3e20 20 20 20 20 20 20 20 20 64 65 76 69 63 65 44 65 73 63 72 69 70 74 6f 72 2e 63 6f 6c 6c 65 63 74 ........deviceDescriptor.collect
3e40 69 6f 6e 73 20 3d 20 63 6f 6c 6c 65 63 74 69 6f 6e 73 2e 54 6f 41 72 72 61 79 28 29 3b 0d 0a 0d ions.=.collections.ToArray();...
3e60 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 53 65 74 20 75 73 61 67 65 20 61 6e 64 20 75 73 .............//.Set.usage.and.us
3e80 61 67 65 20 70 61 67 65 20 6f 6e 20 64 65 76 69 63 65 20 64 65 73 63 72 69 70 74 6f 72 20 74 6f age.page.on.device.descriptor.to
3ea0 20 77 68 61 74 27 73 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 6f 6e 20 74 68 65 20 74 .what's..............//.on.the.t
3ec0 6f 70 6c 65 76 65 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 63 6f 6c 6c 65 63 74 69 6f 6e 2e 0d oplevel.application.collection..
3ee0 0a 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 65 61 63 68 20 28 76 61 72 20 63 6f 6c 6c 65 63 .............foreach.(var.collec
3f00 74 69 6f 6e 20 69 6e 20 63 6f 6c 6c 65 63 74 69 6f 6e 73 29 0d 0a 20 20 20 20 20 20 20 20 20 20 tion.in.collections)............
3f20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 6f 6c 6c 65 63 74 ..{..................if.(collect
3f40 69 6f 6e 2e 70 61 72 65 6e 74 20 3d 3d 20 2d 31 20 26 26 20 63 6f 6c 6c 65 63 74 69 6f 6e 2e 74 ion.parent.==.-1.&&.collection.t
3f60 79 70 65 20 3d 3d 20 48 49 44 2e 48 49 44 43 6f 6c 6c 65 63 74 69 6f 6e 54 79 70 65 2e 41 70 70 ype.==.HID.HIDCollectionType.App
3f80 6c 69 63 61 74 69 6f 6e 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 lication)..................{....
3fa0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 76 69 63 65 44 65 73 63 72 69 70 74 ..................deviceDescript
3fc0 6f 72 2e 75 73 61 67 65 20 3d 20 63 6f 6c 6c 65 63 74 69 6f 6e 2e 75 73 61 67 65 3b 0d 0a 20 20 or.usage.=.collection.usage;....
3fe0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 64 65 76 69 63 65 44 65 73 63 72 69 70 74 ..................deviceDescript
4000 6f 72 2e 75 73 61 67 65 50 61 67 65 20 3d 20 63 6f 6c 6c 65 63 74 69 6f 6e 2e 75 73 61 67 65 50 or.usagePage.=.collection.usageP
4020 61 67 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 62 72 65 61 6b 3b age;......................break;
4040 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 ..................}.............
4060 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 74 72 75 65 3b 0d 0a .}................return.true;..
4080 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 75 6e 73 ........}............private.uns
40a0 61 66 65 20 73 74 61 74 69 63 20 69 6e 74 20 52 65 61 64 44 61 74 61 28 69 6e 74 20 69 74 65 6d afe.static.int.ReadData(int.item
40c0 53 69 7a 65 2c 20 62 79 74 65 2a 20 63 75 72 72 65 6e 74 50 74 72 2c 20 62 79 74 65 2a 20 65 6e Size,.byte*.currentPtr,.byte*.en
40e0 64 50 74 72 29 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 dPtr)..........{..............if
4100 20 28 69 74 65 6d 53 69 7a 65 20 3d 3d 20 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .(itemSize.==.0)................
4120 20 20 72 65 74 75 72 6e 20 30 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 65 ..return.0;................//.Re
4140 61 64 20 62 79 74 65 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 74 65 6d 53 69 ad.byte...............if.(itemSi
4160 7a 65 20 3d 3d 20 31 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 ze.==.1)..............{.........
4180 20 20 20 20 20 20 20 20 20 69 66 20 28 63 75 72 72 65 6e 74 50 74 72 20 3e 3d 20 65 6e 64 50 74 .........if.(currentPtr.>=.endPt
41a0 72 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 r)......................return.0
41c0 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 2a 63 75 72 72 65 ;..................return.*curre
41e0 6e 74 50 74 72 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 ntPtr;..............}...........
4200 20 20 20 20 20 2f 2f 20 52 65 61 64 20 73 68 6f 72 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 .....//.Read.short..............
4220 20 69 66 20 28 69 74 65 6d 53 69 7a 65 20 3d 3d 20 32 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 .if.(itemSize.==.2).............
4240 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 63 75 72 72 65 6e 74 50 .{..................if.(currentP
4260 74 72 20 2b 20 32 20 3e 3d 20 65 6e 64 50 74 72 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 tr.+.2.>=.endPtr)...............
4280 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .......return.0;................
42a0 20 20 76 61 72 20 64 61 74 61 31 20 3d 20 2a 63 75 72 72 65 6e 74 50 74 72 3b 0d 0a 20 20 20 20 ..var.data1.=.*currentPtr;......
42c0 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 64 61 74 61 32 20 3d 20 2a 28 63 75 72 72 65 6e ............var.data2.=.*(curren
42e0 74 50 74 72 20 2b 20 31 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 tPtr.+.1);..................retu
4300 72 6e 20 28 64 61 74 61 32 20 3c 3c 20 38 29 20 7c 20 64 61 74 61 31 3b 0d 0a 20 20 20 20 20 20 rn.(data2.<<.8).|.data1;........
4320 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 52 65 61 64 20 69 ......}................//.Read.i
4340 6e 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 74 65 6d 53 69 7a 65 20 3d 3d nt...............if.(itemSize.==
4360 20 33 29 20 2f 2f 20 49 74 65 6d 20 73 69 7a 65 20 33 20 6d 65 61 6e 73 20 34 20 62 79 74 65 73 .3).//.Item.size.3.means.4.bytes
4380 21 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 !..............{................
43a0 20 20 69 66 20 28 63 75 72 72 65 6e 74 50 74 72 20 2b 20 34 20 3e 3d 20 65 6e 64 50 74 72 29 0d ..if.(currentPtr.+.4.>=.endPtr).
43c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0d 0a .....................return.0;..
43e0 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 64 61 74 61 31 20 3d 20 2a 63 ..................var.data1.=.*c
4400 75 72 72 65 6e 74 50 74 72 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 urrentPtr;..................var.
4420 64 61 74 61 32 20 3d 20 2a 28 63 75 72 72 65 6e 74 50 74 72 20 2b 20 31 29 3b 0d 0a 20 20 20 20 data2.=.*(currentPtr.+.1);......
4440 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 64 61 74 61 33 20 3d 20 2a 28 63 75 72 72 65 6e ............var.data3.=.*(curren
4460 74 50 74 72 20 2b 20 32 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 tPtr.+.2);..................var.
4480 64 61 74 61 34 20 3d 20 2a 28 63 75 72 72 65 6e 74 50 74 72 20 2b 20 33 29 3b 0d 0a 0d 0a 20 20 data4.=.*(currentPtr.+.3);......
44a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 64 61 74 61 34 20 3c 3c 20 32 ..............return.(data4.<<.2
44c0 34 29 20 7c 20 28 64 61 74 61 33 20 3c 3c 20 32 34 29 20 7c 20 28 64 61 74 61 32 20 3c 3c 20 38 4).|.(data3.<<.24).|.(data2.<<.8
44e0 29 20 7c 20 64 61 74 61 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 ).|.data1;..............}.......
4500 20 20 20 20 20 20 20 20 20 44 65 62 75 67 2e 41 73 73 65 72 74 28 66 61 6c 73 65 2c 20 22 53 68 .........Debug.Assert(false,."Sh
4520 6f 75 6c 64 20 6e 6f 74 20 72 65 61 63 68 20 68 65 72 65 22 29 3b 0d 0a 20 20 20 20 20 20 20 20 ould.not.reach.here");..........
4540 20 20 20 20 72 65 74 75 72 6e 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 ....return.0;..........}........
4560 20 20 20 20 70 72 69 76 61 74 65 20 73 74 72 75 63 74 20 48 49 44 52 65 70 6f 72 74 44 61 74 61 ....private.struct.HIDReportData
4580 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 ..........{..............public.
45a0 69 6e 74 20 72 65 70 6f 72 74 49 64 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 int.reportId;..............publi
45c0 63 20 48 49 44 2e 48 49 44 52 65 70 6f 72 74 54 79 70 65 20 72 65 70 6f 72 74 54 79 70 65 3b 0d c.HID.HIDReportType.reportType;.
45e0 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 20 63 75 72 72 65 6e 74 42 .............public.int.currentB
4600 69 74 4f 66 66 73 65 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 itOffset;................public.
4620 73 74 61 74 69 63 20 69 6e 74 20 46 69 6e 64 4f 72 41 64 64 52 65 70 6f 72 74 28 69 6e 74 3f 20 static.int.FindOrAddReport(int?.
4640 72 65 70 6f 72 74 49 64 2c 20 48 49 44 2e 48 49 44 52 65 70 6f 72 74 54 79 70 65 20 72 65 70 6f reportId,.HID.HIDReportType.repo
4660 72 74 54 79 70 65 2c 20 4c 69 73 74 3c 48 49 44 52 65 70 6f 72 74 44 61 74 61 3e 20 72 65 70 6f rtType,.List<HIDReportData>.repo
4680 72 74 73 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 rts)..............{.............
46a0 20 20 20 20 20 76 61 72 20 69 64 20 3d 20 31 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....var.id.=.1;................
46c0 20 20 69 66 20 28 72 65 70 6f 72 74 49 64 2e 48 61 73 56 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 ..if.(reportId.HasValue)........
46e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 64 20 3d 20 72 65 70 6f 72 74 49 64 2e 56 61 6c 75 ..............id.=.reportId.Valu
4700 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 66 6f 72 20 28 76 61 72 20 69 e;....................for.(var.i
4720 20 3d 20 30 3b 20 69 20 3c 20 72 65 70 6f 72 74 73 2e 43 6f 75 6e 74 3b 20 2b 2b 69 29 0d 0a 20 .=.0;.i.<.reports.Count;.++i)...
4740 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...............{................
4760 20 20 20 20 20 20 69 66 20 28 72 65 70 6f 72 74 73 5b 69 5d 2e 72 65 70 6f 72 74 49 64 20 3d 3d ......if.(reports[i].reportId.==
4780 20 69 64 20 26 26 20 72 65 70 6f 72 74 73 5b 69 5d 2e 72 65 70 6f 72 74 54 79 70 65 20 3d 3d 20 .id.&&.reports[i].reportType.==.
47a0 72 65 70 6f 72 74 54 79 70 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 reportType).....................
47c0 20 20 20 20 20 72 65 74 75 72 6e 20 69 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 .....return.i;..................
47e0 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 70 6f 72 74 73 2e 41 64 64 }....................reports.Add
4800 28 6e 65 77 20 48 49 44 52 65 70 6f 72 74 44 61 74 61 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 (new.HIDReportData..............
4820 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 70 6f 72 ....{......................repor
4840 74 49 64 20 3d 20 69 64 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 tId.=.id,......................r
4860 65 70 6f 72 74 54 79 70 65 20 3d 20 72 65 70 6f 72 74 54 79 70 65 0d 0a 20 20 20 20 20 20 20 20 eportType.=.reportType..........
4880 20 20 20 20 20 20 20 20 7d 29 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 ........});....................r
48a0 65 74 75 72 6e 20 72 65 70 6f 72 74 73 2e 43 6f 75 6e 74 20 2d 20 31 3b 0d 0a 20 20 20 20 20 20 eturn.reports.Count.-.1;........
48c0 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f ......}..........}............//
48e0 20 41 6c 6c 20 74 79 70 65 73 20 61 6e 64 20 74 61 67 73 20 77 69 74 68 20 73 69 7a 65 20 62 69 .All.types.and.tags.with.size.bi
4900 74 73 20 28 6c 6f 77 20 6f 72 64 65 72 20 74 77 6f 20 62 69 74 73 29 20 6d 61 73 6b 65 64 20 6f ts.(low.order.two.bits).masked.o
4920 75 74 20 28 69 2e 65 2e 20 62 65 69 6e 67 20 30 29 2e 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 ut.(i.e..being.0)...........priv
4940 61 74 65 20 65 6e 75 6d 20 48 49 44 49 74 65 6d 54 79 70 65 41 6e 64 54 61 67 0d 0a 20 20 20 20 ate.enum.HIDItemTypeAndTag......
4960 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 49 6e 70 75 74 20 3d 20 30 78 38 30 2c ....{..............Input.=.0x80,
4980 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 4f 75 74 70 75 74 20 3d 20 30 78 39 30 2c 0d 0a 20 20 ..............Output.=.0x90,....
49a0 20 20 20 20 20 20 20 20 20 20 46 65 61 74 75 72 65 20 3d 20 30 78 42 30 2c 0d 0a 20 20 20 20 20 ..........Feature.=.0xB0,.......
49c0 20 20 20 20 20 20 20 43 6f 6c 6c 65 63 74 69 6f 6e 20 3d 20 30 78 41 30 2c 0d 0a 20 20 20 20 20 .......Collection.=.0xA0,.......
49e0 20 20 20 20 20 20 20 45 6e 64 43 6f 6c 6c 65 63 74 69 6f 6e 20 3d 20 30 78 43 30 2c 0d 0a 20 20 .......EndCollection.=.0xC0,....
4a00 20 20 20 20 20 20 20 20 20 20 55 73 61 67 65 50 61 67 65 20 3d 20 30 78 30 34 2c 0d 0a 20 20 20 ..........UsagePage.=.0x04,.....
4a20 20 20 20 20 20 20 20 20 20 4c 6f 67 69 63 61 6c 4d 69 6e 69 6d 75 6d 20 3d 20 30 78 31 34 2c 0d .........LogicalMinimum.=.0x14,.
4a40 0a 20 20 20 20 20 20 20 20 20 20 20 20 4c 6f 67 69 63 61 6c 4d 61 78 69 6d 75 6d 20 3d 20 30 78 .............LogicalMaximum.=.0x
4a60 32 34 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 68 79 73 69 63 61 6c 4d 69 6e 69 6d 75 6d 24,..............PhysicalMinimum
4a80 20 3d 20 30 78 33 34 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 68 79 73 69 63 61 6c 4d 61 .=.0x34,..............PhysicalMa
4aa0 78 69 6d 75 6d 20 3d 20 30 78 34 34 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 55 6e 69 74 45 ximum.=.0x44,..............UnitE
4ac0 78 70 6f 6e 65 6e 74 20 3d 20 30 78 35 34 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 55 6e 69 xponent.=.0x54,..............Uni
4ae0 74 20 3d 20 30 78 36 34 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 52 65 70 6f 72 74 53 69 7a t.=.0x64,..............ReportSiz
4b00 65 20 3d 20 30 78 37 34 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 52 65 70 6f 72 74 49 44 20 e.=.0x74,..............ReportID.
4b20 3d 20 30 78 38 34 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 52 65 70 6f 72 74 43 6f 75 6e 74 =.0x84,..............ReportCount
4b40 20 3d 20 30 78 39 34 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 75 73 68 20 3d 20 30 78 41 .=.0x94,..............Push.=.0xA
4b60 34 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 50 6f 70 20 3d 20 30 78 42 34 2c 0d 0a 20 20 20 4,..............Pop.=.0xB4,.....
4b80 20 20 20 20 20 20 20 20 20 55 73 61 67 65 20 3d 20 30 78 30 38 2c 0d 0a 20 20 20 20 20 20 20 20 .........Usage.=.0x08,..........
4ba0 20 20 20 20 55 73 61 67 65 4d 69 6e 69 6d 75 6d 20 3d 20 30 78 31 38 2c 0d 0a 20 20 20 20 20 20 ....UsageMinimum.=.0x18,........
4bc0 20 20 20 20 20 20 55 73 61 67 65 4d 61 78 69 6d 75 6d 20 3d 20 30 78 32 38 2c 0d 0a 20 20 20 20 ......UsageMaximum.=.0x28,......
4be0 20 20 20 20 20 20 20 20 44 65 73 69 67 6e 61 74 6f 72 49 6e 64 65 78 20 3d 20 30 78 33 38 2c 0d ........DesignatorIndex.=.0x38,.
4c00 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 73 69 67 6e 61 74 6f 72 4d 69 6e 69 6d 75 6d 20 3d .............DesignatorMinimum.=
4c20 20 30 78 34 38 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 44 65 73 69 67 6e 61 74 6f 72 4d 61 .0x48,..............DesignatorMa
4c40 78 69 6d 75 6d 20 3d 20 30 78 35 38 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 74 72 69 6e ximum.=.0x58,..............Strin
4c60 67 49 6e 64 65 78 20 3d 20 30 78 37 38 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 74 72 69 gIndex.=.0x78,..............Stri
4c80 6e 67 4d 69 6e 69 6d 75 6d 20 3d 20 30 78 38 38 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 53 ngMinimum.=.0x88,..............S
4ca0 74 72 69 6e 67 4d 61 78 69 6d 75 6d 20 3d 20 30 78 39 38 2c 0d 0a 20 20 20 20 20 20 20 20 20 20 tringMaximum.=.0x98,............
4cc0 20 20 44 65 6c 69 6d 69 74 65 72 20 3d 20 30 78 41 38 2c 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a ..Delimiter.=.0xA8,..........}..
4ce0 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 53 74 61 74 65 20 74 68 61 74 20 6e 65 65 64 73 20 74 6f ..........//.State.that.needs.to
4d00 20 62 65 20 64 65 66 69 6e 65 64 20 66 6f 72 20 65 61 63 68 20 6d 61 69 6e 20 69 74 65 6d 20 73 .be.defined.for.each.main.item.s
4d20 65 70 61 72 61 74 65 6c 79 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 53 65 65 20 73 65 63 74 69 eparately...........//.See.secti
4d40 6f 6e 20 36 2e 32 2e 32 2e 38 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 73 74 72 75 on.6.2.2.8..........private.stru
4d60 63 74 20 48 49 44 49 74 65 6d 53 74 61 74 65 4c 6f 63 61 6c 0d 0a 20 20 20 20 20 20 20 20 7b 0d ct.HIDItemStateLocal..........{.
4d80 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 3f 20 75 73 61 67 65 3b 0d .............public.int?.usage;.
4da0 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 3f 20 75 73 61 67 65 4d 69 .............public.int?.usageMi
4dc0 6e 69 6d 75 6d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 3f 20 nimum;..............public.int?.
4de0 75 73 61 67 65 4d 61 78 69 6d 75 6d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 usageMaximum;..............publi
4e00 63 20 69 6e 74 3f 20 64 65 73 69 67 6e 61 74 6f 72 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 c.int?.designatorIndex;.........
4e20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 3f 20 64 65 73 69 67 6e 61 74 6f 72 4d 69 6e 69 6d .....public.int?.designatorMinim
4e40 75 6d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 3f 20 64 65 73 um;..............public.int?.des
4e60 69 67 6e 61 74 6f 72 4d 61 78 69 6d 75 6d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 ignatorMaximum;..............pub
4e80 6c 69 63 20 69 6e 74 3f 20 73 74 72 69 6e 67 49 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 lic.int?.stringIndex;...........
4ea0 20 20 20 70 75 62 6c 69 63 20 69 6e 74 3f 20 73 74 72 69 6e 67 4d 69 6e 69 6d 75 6d 3b 0d 0a 20 ...public.int?.stringMinimum;...
4ec0 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 3f 20 73 74 72 69 6e 67 4d 61 78 ...........public.int?.stringMax
4ee0 69 6d 75 6d 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 4c 69 73 74 imum;................public.List
4f00 3c 69 6e 74 3e 20 75 73 61 67 65 4c 69 73 74 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 <int>.usageList;................
4f20 2f 2f 20 57 69 70 65 20 73 74 61 74 65 20 62 75 74 20 70 72 65 73 65 72 76 65 20 75 73 61 67 65 //.Wipe.state.but.preserve.usage
4f40 4c 69 73 74 20 61 6c 6c 6f 63 61 74 69 6f 6e 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 List.allocation...............pu
4f60 62 6c 69 63 20 73 74 61 74 69 63 20 76 6f 69 64 20 52 65 73 65 74 28 72 65 66 20 48 49 44 49 74 blic.static.void.Reset(ref.HIDIt
4f80 65 6d 53 74 61 74 65 4c 6f 63 61 6c 20 73 74 61 74 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 emStateLocal.state).............
4fa0 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 75 73 61 67 65 4c 69 73 .{..................var.usageLis
4fc0 74 20 3d 20 73 74 61 74 65 2e 75 73 61 67 65 4c 69 73 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 t.=.state.usageList;............
4fe0 20 20 20 20 20 20 73 74 61 74 65 20 3d 20 6e 65 77 20 48 49 44 49 74 65 6d 53 74 61 74 65 4c 6f ......state.=.new.HIDItemStateLo
5000 63 61 6c 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 75 73 61 67 cal();..................if.(usag
5020 65 4c 69 73 74 20 21 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 eList.!=.null)..................
5040 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 73 61 67 65 4c 69 73 74 {......................usageList
5060 2e 43 6c 65 61 72 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 73 .Clear();......................s
5080 74 61 74 65 2e 75 73 61 67 65 4c 69 73 74 20 3d 20 75 73 61 67 65 4c 69 73 74 3b 0d 0a 20 20 20 tate.usageList.=.usageList;.....
50a0 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d .............}..............}...
50c0 0a 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 55 73 61 67 65 20 63 61 6e 20 62 65 20 73 65 74 .............//.Usage.can.be.set
50e0 20 72 65 70 65 61 74 65 64 6c 79 20 74 6f 20 70 72 6f 76 69 64 65 20 61 6e 20 65 6e 75 6d 65 72 .repeatedly.to.provide.an.enumer
5100 61 74 69 6f 6e 20 6f 66 20 75 73 61 67 65 73 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 ation.of.usages...............pu
5120 62 6c 69 63 20 76 6f 69 64 20 53 65 74 55 73 61 67 65 28 69 6e 74 20 76 61 6c 75 65 29 0d 0a 20 blic.void.SetUsage(int.value)...
5140 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 ...........{..................if
5160 20 28 75 73 61 67 65 2e 48 61 73 56 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 .(usage.HasValue)...............
5180 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 75 73 ...{......................if.(us
51a0 61 67 65 4c 69 73 74 20 3d 3d 20 6e 75 6c 6c 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ageList.==.null)................
51c0 20 20 20 20 20 20 20 20 20 20 75 73 61 67 65 4c 69 73 74 20 3d 20 6e 65 77 20 4c 69 73 74 3c 69 ..........usageList.=.new.List<i
51e0 6e 74 3e 28 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 73 61 67 nt>();......................usag
5200 65 4c 69 73 74 2e 41 64 64 28 75 73 61 67 65 2e 56 61 6c 75 65 29 3b 0d 0a 20 20 20 20 20 20 20 eList.Add(usage.Value);.........
5220 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 75 73 61 67 .........}..................usag
5240 65 20 3d 20 76 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 e.=.value;..............}.......
5260 20 20 20 20 20 20 20 20 20 2f 2f 20 47 65 74 20 75 73 61 67 65 20 66 6f 72 20 4e 74 68 20 65 6c .........//.Get.usage.for.Nth.el
5280 65 6d 65 6e 74 20 69 6e 20 5b 30 2d 72 65 70 6f 72 74 43 6f 75 6e 74 5d 20 6c 69 73 74 2e 0d 0a ement.in.[0-reportCount].list...
52a0 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 20 47 65 74 55 73 61 67 65 28 ............public.int.GetUsage(
52c0 69 6e 74 20 69 6e 64 65 78 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 int.index)..............{.......
52e0 20 20 20 20 20 20 20 20 20 20 20 2f 2f 20 49 66 20 77 65 20 68 61 76 65 20 6d 69 6e 69 6d 75 6d ...........//.If.we.have.minimum
5300 20 61 6e 64 20 6d 61 78 69 6d 75 6d 20 75 73 61 67 65 2c 20 69 6e 74 65 72 70 6f 6c 61 74 65 20 .and.maximum.usage,.interpolate.
5320 62 65 74 77 65 65 6e 20 74 68 61 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 between.that...................i
5340 66 20 28 75 73 61 67 65 4d 69 6e 69 6d 75 6d 2e 48 61 73 56 61 6c 75 65 20 26 26 20 75 73 61 67 f.(usageMinimum.HasValue.&&.usag
5360 65 4d 61 78 69 6d 75 6d 2e 48 61 73 56 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 eMaximum.HasValue)..............
5380 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d ....{......................var.m
53a0 69 6e 20 3d 20 75 73 61 67 65 4d 69 6e 69 6d 75 6d 2e 56 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 in.=.usageMinimum.Value;........
53c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 6d 61 78 20 3d 20 75 73 61 67 65 4d 61 78 ..............var.max.=.usageMax
53e0 69 6d 75 6d 2e 56 61 6c 75 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 imum.Value;.....................
5400 20 20 20 76 61 72 20 72 61 6e 67 65 20 3d 20 6d 61 78 20 2d 20 6d 69 6e 3b 0d 0a 20 20 20 20 20 ...var.range.=.max.-.min;.......
5420 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 72 61 6e 67 65 20 3c 20 30 29 0d 0a 20 ...............if.(range.<.0)...
5440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 30 3b .......................return.0;
5460 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 6e 64 65 78 20 ......................if.(index.
5480 3e 3d 20 72 61 6e 67 65 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 >=.range).......................
54a0 20 20 20 72 65 74 75 72 6e 20 6d 61 78 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ...return.max;..................
54c0 20 20 20 20 72 65 74 75 72 6e 20 6d 69 6e 20 2b 20 69 6e 64 65 78 3b 0d 0a 20 20 20 20 20 20 20 ....return.min.+.index;.........
54e0 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f .........}....................//
5500 20 49 66 20 77 65 20 68 61 76 65 20 61 20 6c 69 73 74 20 6f 66 20 75 73 61 67 65 73 2c 20 69 6e .If.we.have.a.list.of.usages,.in
5520 64 65 78 20 69 6e 74 6f 20 74 68 61 74 2e 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 dex.into.that...................
5540 69 66 20 28 75 73 61 67 65 4c 69 73 74 20 21 3d 20 6e 75 6c 6c 20 26 26 20 75 73 61 67 65 4c 69 if.(usageList.!=.null.&&.usageLi
5560 73 74 2e 43 6f 75 6e 74 20 3e 20 30 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7b st.Count.>.0)..................{
5580 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 61 72 20 75 73 61 67 65 43 ......................var.usageC
55a0 6f 75 6e 74 20 3d 20 75 73 61 67 65 4c 69 73 74 2e 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 20 ount.=.usageList.Count;.........
55c0 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 69 6e 64 65 78 20 3e 3d 20 75 73 61 67 65 43 .............if.(index.>=.usageC
55e0 6f 75 6e 74 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 ount)..........................r
5600 65 74 75 72 6e 20 75 73 61 67 65 2e 56 61 6c 75 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 eturn.usage.Value;..............
5620 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 75 73 61 67 65 4c 69 73 74 5b 69 6e 64 65 78 ..........return.usageList[index
5640 5d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 ];..................}...........
5660 20 20 20 20 20 20 20 20 20 69 66 20 28 75 73 61 67 65 2e 48 61 73 56 61 6c 75 65 29 0d 0a 20 20 .........if.(usage.HasValue)....
5680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 75 73 61 67 65 2e 56 ..................return.usage.V
56a0 61 6c 75 65 3b 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2f 2f 2f 2f 54 4f 44 alue;....................////TOD
56c0 4f 3a 20 6d 69 6e 2f 6d 61 78 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 O:.min/max....................re
56e0 74 75 72 6e 20 30 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 turn.0;..............}..........
5700 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 53 74 61 74 65 20 74 68 61 74 20 69 73 20 63 61 }............//.State.that.is.ca
5720 72 72 69 65 64 20 6f 76 65 72 20 66 72 6f 6d 20 6d 61 69 6e 20 69 74 65 6d 20 74 6f 20 6d 61 69 rried.over.from.main.item.to.mai
5740 6e 20 69 74 65 6d 2e 0d 0a 20 20 20 20 20 20 20 20 2f 2f 20 53 65 65 20 73 65 63 74 69 6f 6e 20 n.item...........//.See.section.
5760 36 2e 32 2e 32 2e 37 0d 0a 20 20 20 20 20 20 20 20 70 72 69 76 61 74 65 20 73 74 72 75 63 74 20 6.2.2.7..........private.struct.
5780 48 49 44 49 74 65 6d 53 74 61 74 65 47 6c 6f 62 61 6c 0d 0a 20 20 20 20 20 20 20 20 7b 0d 0a 20 HIDItemStateGlobal..........{...
57a0 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 3f 20 75 73 61 67 65 50 61 67 65 ...........public.int?.usagePage
57c0 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 3f 20 6c 6f 67 69 63 ;..............public.int?.logic
57e0 61 6c 4d 69 6e 69 6d 75 6d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 alMinimum;..............public.i
5800 6e 74 3f 20 6c 6f 67 69 63 61 6c 4d 61 78 69 6d 75 6d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 nt?.logicalMaximum;.............
5820 20 70 75 62 6c 69 63 20 69 6e 74 3f 20 70 68 79 73 69 63 61 6c 4d 69 6e 69 6d 75 6d 3b 0d 0a 20 .public.int?.physicalMinimum;...
5840 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 3f 20 70 68 79 73 69 63 61 6c 4d ...........public.int?.physicalM
5860 61 78 69 6d 75 6d 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 3f aximum;..............public.int?
5880 20 75 6e 69 74 45 78 70 6f 6e 65 6e 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c .unitExponent;..............publ
58a0 69 63 20 69 6e 74 3f 20 75 6e 69 74 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 ic.int?.unit;..............publi
58c0 63 20 69 6e 74 3f 20 72 65 70 6f 72 74 53 69 7a 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 c.int?.reportSize;..............
58e0 70 75 62 6c 69 63 20 69 6e 74 3f 20 72 65 70 6f 72 74 43 6f 75 6e 74 3b 0d 0a 20 20 20 20 20 20 public.int?.reportCount;........
5900 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 3f 20 72 65 70 6f 72 74 49 64 3b 0d 0a 0d 0a 20 ......public.int?.reportId;.....
5920 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 48 49 44 2e 55 73 61 67 65 50 61 67 65 20 ...........public.HID.UsagePage.
5940 47 65 74 55 73 61 67 65 50 61 67 65 28 69 6e 74 20 69 6e 64 65 78 2c 20 72 65 66 20 48 49 44 49 GetUsagePage(int.index,.ref.HIDI
5960 74 65 6d 53 74 61 74 65 4c 6f 63 61 6c 20 6c 6f 63 61 6c 49 74 65 6d 53 74 61 74 65 29 0d 0a 20 temStateLocal.localItemState)...
5980 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 69 66 ...........{..................if
59a0 20 28 21 75 73 61 67 65 50 61 67 65 2e 48 61 73 56 61 6c 75 65 29 0d 0a 20 20 20 20 20 20 20 20 .(!usagePage.HasValue)..........
59c0 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 76 ........{......................v
59e0 61 72 20 75 73 61 67 65 20 3d 20 6c 6f 63 61 6c 49 74 65 6d 53 74 61 74 65 2e 47 65 74 55 73 61 ar.usage.=.localItemState.GetUsa
5a00 67 65 28 69 6e 64 65 78 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ge(index);......................
5a20 72 65 74 75 72 6e 20 28 48 49 44 2e 55 73 61 67 65 50 61 67 65 29 28 75 73 61 67 65 20 3e 3e 20 return.(HID.UsagePage)(usage.>>.
5a40 31 36 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 16);..................}.........
5a60 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 28 48 49 44 2e 55 73 61 67 65 50 61 67 65 ...........return.(HID.UsagePage
5a80 29 75 73 61 67 65 50 61 67 65 2e 56 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d )usagePage.Value;..............}
5aa0 0d 0a 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 20 47 65 74 50 68 ................public.int.GetPh
5ac0 79 73 69 63 61 6c 4d 69 6e 28 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 ysicalMin()..............{......
5ae0 20 20 20 20 20 20 20 20 20 20 20 20 69 66 20 28 70 68 79 73 69 63 61 6c 4d 69 6e 69 6d 75 6d 20 ............if.(physicalMinimum.
5b00 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 70 68 79 73 69 63 61 6c 4d 61 78 69 6d 75 6d 20 3d 3d 20 6e 75 ==.null.||.physicalMaximum.==.nu
5b20 6c 6c 20 7c 7c 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 68 79 73 ll.||......................(phys
5b40 69 63 61 6c 4d 69 6e 69 6d 75 6d 2e 56 61 6c 75 65 20 3d 3d 20 30 20 26 26 20 70 68 79 73 69 63 icalMinimum.Value.==.0.&&.physic
5b60 61 6c 4d 61 78 69 6d 75 6d 2e 56 61 6c 75 65 20 3d 3d 20 30 29 29 0d 0a 20 20 20 20 20 20 20 20 alMaximum.Value.==.0))..........
5b80 20 20 20 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 6c 6f 67 69 63 61 6c 4d 69 6e 69 6d 75 ............return.logicalMinimu
5ba0 6d 2e 47 65 74 56 61 6c 75 65 4f 72 44 65 66 61 75 6c 74 28 30 29 3b 0d 0a 20 20 20 20 20 20 20 m.GetValueOrDefault(0);.........
5bc0 20 20 20 20 20 20 20 20 20 72 65 74 75 72 6e 20 70 68 79 73 69 63 61 6c 4d 69 6e 69 6d 75 6d 2e .........return.physicalMinimum.
5be0 56 61 6c 75 65 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7d 0d 0a 0d 0a 20 20 20 20 20 20 20 Value;..............}...........
5c00 20 20 20 20 20 70 75 62 6c 69 63 20 69 6e 74 20 47 65 74 50 68 79 73 69 63 61 6c 4d 61 78 28 29 .....public.int.GetPhysicalMax()
5c20 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 7b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ..............{.................
5c40 20 69 66 20 28 70 68 79 73 69 63 61 6c 4d 69 6e 69 6d 75 6d 20 3d 3d 20 6e 75 6c 6c 20 7c 7c 20 .if.(physicalMinimum.==.null.||.
5c60 70 68 79 73 69 63 61 6c 4d 61 78 69 6d 75 6d 20 3d 3d 20 6e 75 6c 6c 20 7c 7c 0d 0a 20 20 20 20 physicalMaximum.==.null.||......
5c80 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 28 70 68 79 73 69 63 61 6c 4d 69 6e 69 6d 75 6d ................(physicalMinimum
5ca0 2e 56 61 6c 75 65 20 3d 3d 20 30 20 26 26 20 70 68 79 73 69 63 61 6c 4d 61 78 69 6d 75 6d 2e 56 .Value.==.0.&&.physicalMaximum.V
5cc0 61 6c 75 65 20 3d 3d 20 30 29 29 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 alue.==.0)).....................
5ce0 20 72 65 74 75 72 6e 20 6c 6f 67 69 63 61 6c 4d 61 78 69 6d 75 6d 2e 47 65 74 56 61 6c 75 65 4f .return.logicalMaximum.GetValueO
5d00 72 44 65 66 61 75 6c 74 28 30 29 3b 0d 0a 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 72 65 rDefault(0);..................re
5d20 74 75 72 6e 20 70 68 79 73 69 63 61 6c 4d 61 78 69 6d 75 6d 2e 56 61 6c 75 65 3b 0d 0a 20 20 20 turn.physicalMaximum.Value;.....
5d40 20 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 20 20 20 20 7d 0d 0a 20 20 20 20 7d 0d 0a 7d 0d .........}..........}......}..}.
5d60 0a 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09 00 00 00 48 49 44 50 ............................HIDP
5d80 61 72 73 65 72 00 00 00 1b 00 00 00 55 6e 69 74 79 45 6e 67 69 6e 65 2e 49 6e 70 75 74 53 79 73 arser.......UnityEngine.InputSys
5da0 74 65 6d 2e 48 49 44 00 tem.HID.