* RE: [PATCH] HID: driver for BTC "Emprex 3009URF III Vista MCE Remote" quirky remote
@ 2010-02-27 11:32 Ben Hardill
2010-03-15 16:03 ` Jiri Kosina
0 siblings, 1 reply; 16+ messages in thread
From: Ben Hardill @ 2010-02-27 11:32 UTC (permalink / raw)
To: linux-input, jkosina; +Cc: Wayne Thomas
> > are using this usage page as standard. I was going to fiddle
> > around with this but instead will wait to see how this will be
> > implemented in udev. Sorry I couldn't relieve some of your
> > work-load.
>
> udev keymaps are described in README.keymap.txt in udev package. You
> can find current version on
>
http://git.kernel.org/?p=linux/hotplug/udev.git;a=blob;f=extras/keymap/README.keymap.txt;h=9c2d5dc16a151d57720b1dfe39e784f1b1d47367;hb=HEAD
>
>
>
Thanks,
Jiri,
I've tried to follow the instructions in the README.keymap but when I
run /lib/udev/keymap -i input/eventX against both of the event devices I
get nothing out, not even the "unknown" message mentioned in the doc.
I'm not totally up to speed with this yet, but I think i may be down to
the "e0x0ffbc0000 HID usage page" that Wayne mentioned earlier not being
read by the input layer and passed to the udev layer. If this is the
case then before udev can be used to make hardware like this work the
input layer will need to add support for this page.
Thanks,
Ben
^ permalink raw reply [flat|nested] 16+ messages in thread
* RE: [PATCH] HID: driver for BTC "Emprex 3009URF III Vista MCE Remote" quirky remote
2010-02-27 11:32 [PATCH] HID: driver for BTC "Emprex 3009URF III Vista MCE Remote" quirky remote Ben Hardill
@ 2010-03-15 16:03 ` Jiri Kosina
2010-03-17 19:18 ` Wayne Thomas
0 siblings, 1 reply; 16+ messages in thread
From: Jiri Kosina @ 2010-03-15 16:03 UTC (permalink / raw)
To: Ben Hardill; +Cc: linux-input, Wayne Thomas
On Sat, 27 Feb 2010, Ben Hardill wrote:
> I've tried to follow the instructions in the README.keymap but when I
> run /lib/udev/keymap -i input/eventX against both of the event devices I
> get nothing out, not even the "unknown" message mentioned in the doc.
>
> I'm not totally up to speed with this yet, but I think i may be down to the
> "e0x0ffbc0000 HID usage page" that Wayne mentioned earlier not being read by
> the input layer and passed to the udev layer. If this is the case then before
> udev can be used to make hardware like this work the input layer will need to
> add support for this page.
Could you guys please send me output from debugfs files for this
particular device?
Namely /sys/kernel/debug/hid/<device>/rdesc
/syse/kernel/debug/hid/<device>/events from the time the non-working
buttons are pressed?
Thanks,
--
Jiri Kosina
SUSE Labs, Novell Inc.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH] HID: driver for BTC "Emprex 3009URF III Vista MCE Remote" quirky remote
2010-03-15 16:03 ` Jiri Kosina
@ 2010-03-17 19:18 ` Wayne Thomas
2010-03-18 10:51 ` Jiri Kosina
0 siblings, 1 reply; 16+ messages in thread
From: Wayne Thomas @ 2010-03-17 19:18 UTC (permalink / raw)
To: Jiri Kosina; +Cc: Ben Hardill, linux-input
[-- Attachment #1: Type: text/plain, Size: 1620 bytes --]
On Mon, Mar 15, 2010 at 5:03 PM, Jiri Kosina <jkosina@suse.cz> wrote:
> On Sat, 27 Feb 2010, Ben Hardill wrote:
>
>> I've tried to follow the instructions in the README.keymap but when I
>> run /lib/udev/keymap -i input/eventX against both of the event devices I
>> get nothing out, not even the "unknown" message mentioned in the doc.
>>
>> I'm not totally up to speed with this yet, but I think i may be down to the
>> "e0x0ffbc0000 HID usage page" that Wayne mentioned earlier not being read by
>> the input layer and passed to the udev layer. If this is the case then before
>> udev can be used to make hardware like this work the input layer will need to
>> add support for this page.
>
> Could you guys please send me output from debugfs files for this
> particular device?
>
> Namely /sys/kernel/debug/hid/<device>/rdesc
> /syse/kernel/debug/hid/<device>/events from the time the non-working
> buttons are pressed?
>
> Thanks,
>
> --
> Jiri Kosina
> SUSE Labs, Novell Inc.
>
Jiri,
I have compiled kernel 2.6.33.1 with hid_debug set to 2.
Below is the output of the appropriate device (the remote presents
itself as two separate event devices) when pressing some of the
buttons in question.
I have attached the output of
/sys/kernel/debug/hid/0003:046E:5578.0004/rdesc as a text file since
it is so long, but here is the output of
/sys/kernel/debug/hid/0003:046E:5578.0004/events (one report for each
button pressed).
report (size 7) (numbered)
report (size 7) (numbered)
report (size 7) (numbered)
report (size 7) (numbered)
report (size 7) (numbered)
report (size 7) (numbered)
Cheers
Wayne
[-- Attachment #2: rdesc.txt --]
[-- Type: text/plain, Size: 57973 bytes --]
05 01 09 80 a1 01 85 01 19 81 29 83 15 00 25 01 75 01 95 03 81 02 95 05 81 01 c0 05 0c 09 01 a1 01 85 02 19 00 2a ff 02 15 00 26 ff 02 75 10 95 03 81 00 c0 06 bc ff 09 88 a1 01 85 03 19 00 2a ff 00 15 00 26 ff 00 75 10 95 03 81 00 06 bc ff 19 00 2a ff 00 15 00 26 ff 00 75 08 95 07 b1 04 c0
INPUT(1)[INPUT]
Field(0)
Usage(3)
GenericDesktop.SystemPowerDown
GenericDesktop.SystemSleep
GenericDesktop.SystemWakeUp
Logical Minimum(0)
Logical Maximum(1)
Report Size(1)
Report Count(3)
Report Offset(0)
Flags( Variable Absolute )
INPUT(2)[INPUT]
Field(0)
Usage(768)
Consumer.0000
Consumer.0001
Consumer.0002
Consumer.0003
Consumer.0004
Consumer.0005
Consumer.0006
Consumer.0007
Consumer.0008
Consumer.0009
Consumer.000a
Consumer.000b
Consumer.000c
Consumer.000d
Consumer.000e
Consumer.000f
Consumer.0010
Consumer.0011
Consumer.0012
Consumer.0013
Consumer.0014
Consumer.0015
Consumer.0016
Consumer.0017
Consumer.0018
Consumer.0019
Consumer.001a
Consumer.001b
Consumer.001c
Consumer.001d
Consumer.001e
Consumer.001f
Consumer.0020
Consumer.0021
Consumer.0022
Consumer.0023
Consumer.0024
Consumer.0025
Consumer.0026
Consumer.0027
Consumer.0028
Consumer.0029
Consumer.002a
Consumer.002b
Consumer.002c
Consumer.002d
Consumer.002e
Consumer.002f
Consumer.0030
Consumer.0031
Consumer.0032
Consumer.0033
Consumer.0034
Consumer.0035
Consumer.0036
Consumer.0037
Consumer.0038
Consumer.0039
Consumer.003a
Consumer.003b
Consumer.003c
Consumer.003d
Consumer.003e
Consumer.003f
Consumer.0040
Consumer.0041
Consumer.0042
Consumer.0043
Consumer.0044
Consumer.0045
Consumer.0046
Consumer.0047
Consumer.0048
Consumer.0049
Consumer.004a
Consumer.004b
Consumer.004c
Consumer.004d
Consumer.004e
Consumer.004f
Consumer.0050
Consumer.0051
Consumer.0052
Consumer.0053
Consumer.0054
Consumer.0055
Consumer.0056
Consumer.0057
Consumer.0058
Consumer.0059
Consumer.005a
Consumer.005b
Consumer.005c
Consumer.005d
Consumer.005e
Consumer.005f
Consumer.0060
Consumer.0061
Consumer.0062
Consumer.0063
Consumer.0064
Consumer.0065
Consumer.0066
Consumer.0067
Consumer.0068
Consumer.0069
Consumer.006a
Consumer.006b
Consumer.006c
Consumer.006d
Consumer.006e
Consumer.006f
Consumer.0070
Consumer.0071
Consumer.0072
Consumer.0073
Consumer.0074
Consumer.0075
Consumer.0076
Consumer.0077
Consumer.0078
Consumer.0079
Consumer.007a
Consumer.007b
Consumer.007c
Consumer.007d
Consumer.007e
Consumer.007f
Consumer.0080
Consumer.0081
Consumer.0082
Consumer.0083
Consumer.0084
Consumer.0085
Consumer.0086
Consumer.0087
Consumer.0088
Consumer.0089
Consumer.008a
Consumer.008b
Consumer.008c
Consumer.008d
Consumer.008e
Consumer.008f
Consumer.0090
Consumer.0091
Consumer.0092
Consumer.0093
Consumer.0094
Consumer.0095
Consumer.0096
Consumer.0097
Consumer.0098
Consumer.0099
Consumer.009a
Consumer.009b
Consumer.009c
Consumer.009d
Consumer.009e
Consumer.009f
Consumer.00a0
Consumer.00a1
Consumer.00a2
Consumer.00a3
Consumer.00a4
Consumer.00a5
Consumer.00a6
Consumer.00a7
Consumer.00a8
Consumer.00a9
Consumer.00aa
Consumer.00ab
Consumer.00ac
Consumer.00ad
Consumer.00ae
Consumer.00af
Consumer.00b0
Consumer.00b1
Consumer.00b2
Consumer.00b3
Consumer.00b4
Consumer.00b5
Consumer.00b6
Consumer.00b7
Consumer.00b8
Consumer.00b9
Consumer.00ba
Consumer.00bb
Consumer.00bc
Consumer.00bd
Consumer.00be
Consumer.00bf
Consumer.00c0
Consumer.00c1
Consumer.00c2
Consumer.00c3
Consumer.00c4
Consumer.00c5
Consumer.00c6
Consumer.00c7
Consumer.00c8
Consumer.00c9
Consumer.00ca
Consumer.00cb
Consumer.00cc
Consumer.00cd
Consumer.00ce
Consumer.00cf
Consumer.00d0
Consumer.00d1
Consumer.00d2
Consumer.00d3
Consumer.00d4
Consumer.00d5
Consumer.00d6
Consumer.00d7
Consumer.00d8
Consumer.00d9
Consumer.00da
Consumer.00db
Consumer.00dc
Consumer.00dd
Consumer.00de
Consumer.00df
Consumer.00e0
Consumer.00e1
Consumer.00e2
Consumer.00e3
Consumer.00e4
Consumer.00e5
Consumer.00e6
Consumer.00e7
Consumer.00e8
Consumer.00e9
Consumer.00ea
Consumer.00eb
Consumer.00ec
Consumer.00ed
Consumer.00ee
Consumer.00ef
Consumer.00f0
Consumer.00f1
Consumer.00f2
Consumer.00f3
Consumer.00f4
Consumer.00f5
Consumer.00f6
Consumer.00f7
Consumer.00f8
Consumer.00f9
Consumer.00fa
Consumer.00fb
Consumer.00fc
Consumer.00fd
Consumer.00fe
Consumer.00ff
Consumer.0100
Consumer.0101
Consumer.0102
Consumer.0103
Consumer.0104
Consumer.0105
Consumer.0106
Consumer.0107
Consumer.0108
Consumer.0109
Consumer.010a
Consumer.010b
Consumer.010c
Consumer.010d
Consumer.010e
Consumer.010f
Consumer.0110
Consumer.0111
Consumer.0112
Consumer.0113
Consumer.0114
Consumer.0115
Consumer.0116
Consumer.0117
Consumer.0118
Consumer.0119
Consumer.011a
Consumer.011b
Consumer.011c
Consumer.011d
Consumer.011e
Consumer.011f
Consumer.0120
Consumer.0121
Consumer.0122
Consumer.0123
Consumer.0124
Consumer.0125
Consumer.0126
Consumer.0127
Consumer.0128
Consumer.0129
Consumer.012a
Consumer.012b
Consumer.012c
Consumer.012d
Consumer.012e
Consumer.012f
Consumer.0130
Consumer.0131
Consumer.0132
Consumer.0133
Consumer.0134
Consumer.0135
Consumer.0136
Consumer.0137
Consumer.0138
Consumer.0139
Consumer.013a
Consumer.013b
Consumer.013c
Consumer.013d
Consumer.013e
Consumer.013f
Consumer.0140
Consumer.0141
Consumer.0142
Consumer.0143
Consumer.0144
Consumer.0145
Consumer.0146
Consumer.0147
Consumer.0148
Consumer.0149
Consumer.014a
Consumer.014b
Consumer.014c
Consumer.014d
Consumer.014e
Consumer.014f
Consumer.0150
Consumer.0151
Consumer.0152
Consumer.0153
Consumer.0154
Consumer.0155
Consumer.0156
Consumer.0157
Consumer.0158
Consumer.0159
Consumer.015a
Consumer.015b
Consumer.015c
Consumer.015d
Consumer.015e
Consumer.015f
Consumer.0160
Consumer.0161
Consumer.0162
Consumer.0163
Consumer.0164
Consumer.0165
Consumer.0166
Consumer.0167
Consumer.0168
Consumer.0169
Consumer.016a
Consumer.016b
Consumer.016c
Consumer.016d
Consumer.016e
Consumer.016f
Consumer.0170
Consumer.0171
Consumer.0172
Consumer.0173
Consumer.0174
Consumer.0175
Consumer.0176
Consumer.0177
Consumer.0178
Consumer.0179
Consumer.017a
Consumer.017b
Consumer.017c
Consumer.017d
Consumer.017e
Consumer.017f
Consumer.0180
Consumer.0181
Consumer.0182
Consumer.0183
Consumer.0184
Consumer.0185
Consumer.0186
Consumer.0187
Consumer.0188
Consumer.0189
Consumer.018a
Consumer.018b
Consumer.018c
Consumer.018d
Consumer.018e
Consumer.018f
Consumer.0190
Consumer.0191
Consumer.0192
Consumer.0193
Consumer.0194
Consumer.0195
Consumer.0196
Consumer.0197
Consumer.0198
Consumer.0199
Consumer.019a
Consumer.019b
Consumer.019c
Consumer.019d
Consumer.019e
Consumer.019f
Consumer.01a0
Consumer.01a1
Consumer.01a2
Consumer.01a3
Consumer.01a4
Consumer.01a5
Consumer.01a6
Consumer.01a7
Consumer.01a8
Consumer.01a9
Consumer.01aa
Consumer.01ab
Consumer.01ac
Consumer.01ad
Consumer.01ae
Consumer.01af
Consumer.01b0
Consumer.01b1
Consumer.01b2
Consumer.01b3
Consumer.01b4
Consumer.01b5
Consumer.01b6
Consumer.01b7
Consumer.01b8
Consumer.01b9
Consumer.01ba
Consumer.01bb
Consumer.01bc
Consumer.01bd
Consumer.01be
Consumer.01bf
Consumer.01c0
Consumer.01c1
Consumer.01c2
Consumer.01c3
Consumer.01c4
Consumer.01c5
Consumer.01c6
Consumer.01c7
Consumer.01c8
Consumer.01c9
Consumer.01ca
Consumer.01cb
Consumer.01cc
Consumer.01cd
Consumer.01ce
Consumer.01cf
Consumer.01d0
Consumer.01d1
Consumer.01d2
Consumer.01d3
Consumer.01d4
Consumer.01d5
Consumer.01d6
Consumer.01d7
Consumer.01d8
Consumer.01d9
Consumer.01da
Consumer.01db
Consumer.01dc
Consumer.01dd
Consumer.01de
Consumer.01df
Consumer.01e0
Consumer.01e1
Consumer.01e2
Consumer.01e3
Consumer.01e4
Consumer.01e5
Consumer.01e6
Consumer.01e7
Consumer.01e8
Consumer.01e9
Consumer.01ea
Consumer.01eb
Consumer.01ec
Consumer.01ed
Consumer.01ee
Consumer.01ef
Consumer.01f0
Consumer.01f1
Consumer.01f2
Consumer.01f3
Consumer.01f4
Consumer.01f5
Consumer.01f6
Consumer.01f7
Consumer.01f8
Consumer.01f9
Consumer.01fa
Consumer.01fb
Consumer.01fc
Consumer.01fd
Consumer.01fe
Consumer.01ff
Consumer.0200
Consumer.0201
Consumer.0202
Consumer.0203
Consumer.0204
Consumer.0205
Consumer.0206
Consumer.0207
Consumer.0208
Consumer.0209
Consumer.020a
Consumer.020b
Consumer.020c
Consumer.020d
Consumer.020e
Consumer.020f
Consumer.0210
Consumer.0211
Consumer.0212
Consumer.0213
Consumer.0214
Consumer.0215
Consumer.0216
Consumer.0217
Consumer.0218
Consumer.0219
Consumer.021a
Consumer.021b
Consumer.021c
Consumer.021d
Consumer.021e
Consumer.021f
Consumer.0220
Consumer.0221
Consumer.0222
Consumer.0223
Consumer.0224
Consumer.0225
Consumer.0226
Consumer.0227
Consumer.0228
Consumer.0229
Consumer.022a
Consumer.022b
Consumer.022c
Consumer.022d
Consumer.022e
Consumer.022f
Consumer.0230
Consumer.0231
Consumer.0232
Consumer.0233
Consumer.0234
Consumer.0235
Consumer.0236
Consumer.0237
Consumer.HorizontalWheel
Consumer.0239
Consumer.023a
Consumer.023b
Consumer.023c
Consumer.023d
Consumer.023e
Consumer.023f
Consumer.0240
Consumer.0241
Consumer.0242
Consumer.0243
Consumer.0244
Consumer.0245
Consumer.0246
Consumer.0247
Consumer.0248
Consumer.0249
Consumer.024a
Consumer.024b
Consumer.024c
Consumer.024d
Consumer.024e
Consumer.024f
Consumer.0250
Consumer.0251
Consumer.0252
Consumer.0253
Consumer.0254
Consumer.0255
Consumer.0256
Consumer.0257
Consumer.0258
Consumer.0259
Consumer.025a
Consumer.025b
Consumer.025c
Consumer.025d
Consumer.025e
Consumer.025f
Consumer.0260
Consumer.0261
Consumer.0262
Consumer.0263
Consumer.0264
Consumer.0265
Consumer.0266
Consumer.0267
Consumer.0268
Consumer.0269
Consumer.026a
Consumer.026b
Consumer.026c
Consumer.026d
Consumer.026e
Consumer.026f
Consumer.0270
Consumer.0271
Consumer.0272
Consumer.0273
Consumer.0274
Consumer.0275
Consumer.0276
Consumer.0277
Consumer.0278
Consumer.0279
Consumer.027a
Consumer.027b
Consumer.027c
Consumer.027d
Consumer.027e
Consumer.027f
Consumer.0280
Consumer.0281
Consumer.0282
Consumer.0283
Consumer.0284
Consumer.0285
Consumer.0286
Consumer.0287
Consumer.0288
Consumer.0289
Consumer.028a
Consumer.028b
Consumer.028c
Consumer.028d
Consumer.028e
Consumer.028f
Consumer.0290
Consumer.0291
Consumer.0292
Consumer.0293
Consumer.0294
Consumer.0295
Consumer.0296
Consumer.0297
Consumer.0298
Consumer.0299
Consumer.029a
Consumer.029b
Consumer.029c
Consumer.029d
Consumer.029e
Consumer.029f
Consumer.02a0
Consumer.02a1
Consumer.02a2
Consumer.02a3
Consumer.02a4
Consumer.02a5
Consumer.02a6
Consumer.02a7
Consumer.02a8
Consumer.02a9
Consumer.02aa
Consumer.02ab
Consumer.02ac
Consumer.02ad
Consumer.02ae
Consumer.02af
Consumer.02b0
Consumer.02b1
Consumer.02b2
Consumer.02b3
Consumer.02b4
Consumer.02b5
Consumer.02b6
Consumer.02b7
Consumer.02b8
Consumer.02b9
Consumer.02ba
Consumer.02bb
Consumer.02bc
Consumer.02bd
Consumer.02be
Consumer.02bf
Consumer.02c0
Consumer.02c1
Consumer.02c2
Consumer.02c3
Consumer.02c4
Consumer.02c5
Consumer.02c6
Consumer.02c7
Consumer.02c8
Consumer.02c9
Consumer.02ca
Consumer.02cb
Consumer.02cc
Consumer.02cd
Consumer.02ce
Consumer.02cf
Consumer.02d0
Consumer.02d1
Consumer.02d2
Consumer.02d3
Consumer.02d4
Consumer.02d5
Consumer.02d6
Consumer.02d7
Consumer.02d8
Consumer.02d9
Consumer.02da
Consumer.02db
Consumer.02dc
Consumer.02dd
Consumer.02de
Consumer.02df
Consumer.02e0
Consumer.02e1
Consumer.02e2
Consumer.02e3
Consumer.02e4
Consumer.02e5
Consumer.02e6
Consumer.02e7
Consumer.02e8
Consumer.02e9
Consumer.02ea
Consumer.02eb
Consumer.02ec
Consumer.02ed
Consumer.02ee
Consumer.02ef
Consumer.02f0
Consumer.02f1
Consumer.02f2
Consumer.02f3
Consumer.02f4
Consumer.02f5
Consumer.02f6
Consumer.02f7
Consumer.02f8
Consumer.02f9
Consumer.02fa
Consumer.02fb
Consumer.02fc
Consumer.02fd
Consumer.02fe
Consumer.02ff
Logical Minimum(0)
Logical Maximum(767)
Report Size(16)
Report Count(3)
Report Offset(0)
Flags( Array Absolute )
INPUT(3)[INPUT]
Field(0)
Usage(256)
ffbc.0000
ffbc.0001
ffbc.0002
ffbc.0003
ffbc.0004
ffbc.0005
ffbc.0006
ffbc.0007
ffbc.0008
ffbc.0009
ffbc.000a
ffbc.000b
ffbc.000c
ffbc.000d
ffbc.000e
ffbc.000f
ffbc.0010
ffbc.0011
ffbc.0012
ffbc.0013
ffbc.0014
ffbc.0015
ffbc.0016
ffbc.0017
ffbc.0018
ffbc.0019
ffbc.001a
ffbc.001b
ffbc.001c
ffbc.001d
ffbc.001e
ffbc.001f
ffbc.0020
ffbc.0021
ffbc.0022
ffbc.0023
ffbc.0024
ffbc.0025
ffbc.0026
ffbc.0027
ffbc.0028
ffbc.0029
ffbc.002a
ffbc.002b
ffbc.002c
ffbc.002d
ffbc.002e
ffbc.002f
ffbc.0030
ffbc.0031
ffbc.0032
ffbc.0033
ffbc.0034
ffbc.0035
ffbc.0036
ffbc.0037
ffbc.0038
ffbc.0039
ffbc.003a
ffbc.003b
ffbc.003c
ffbc.003d
ffbc.003e
ffbc.003f
ffbc.0040
ffbc.0041
ffbc.0042
ffbc.0043
ffbc.0044
ffbc.0045
ffbc.0046
ffbc.0047
ffbc.0048
ffbc.0049
ffbc.004a
ffbc.004b
ffbc.004c
ffbc.004d
ffbc.004e
ffbc.004f
ffbc.0050
ffbc.0051
ffbc.0052
ffbc.0053
ffbc.0054
ffbc.0055
ffbc.0056
ffbc.0057
ffbc.0058
ffbc.0059
ffbc.005a
ffbc.005b
ffbc.005c
ffbc.005d
ffbc.005e
ffbc.005f
ffbc.0060
ffbc.0061
ffbc.0062
ffbc.0063
ffbc.0064
ffbc.0065
ffbc.0066
ffbc.0067
ffbc.0068
ffbc.0069
ffbc.006a
ffbc.006b
ffbc.006c
ffbc.006d
ffbc.006e
ffbc.006f
ffbc.0070
ffbc.0071
ffbc.0072
ffbc.0073
ffbc.0074
ffbc.0075
ffbc.0076
ffbc.0077
ffbc.0078
ffbc.0079
ffbc.007a
ffbc.007b
ffbc.007c
ffbc.007d
ffbc.007e
ffbc.007f
ffbc.0080
ffbc.0081
ffbc.0082
ffbc.0083
ffbc.0084
ffbc.0085
ffbc.0086
ffbc.0087
ffbc.0088
ffbc.0089
ffbc.008a
ffbc.008b
ffbc.008c
ffbc.008d
ffbc.008e
ffbc.008f
ffbc.0090
ffbc.0091
ffbc.0092
ffbc.0093
ffbc.0094
ffbc.0095
ffbc.0096
ffbc.0097
ffbc.0098
ffbc.0099
ffbc.009a
ffbc.009b
ffbc.009c
ffbc.009d
ffbc.009e
ffbc.009f
ffbc.00a0
ffbc.00a1
ffbc.00a2
ffbc.00a3
ffbc.00a4
ffbc.00a5
ffbc.00a6
ffbc.00a7
ffbc.00a8
ffbc.00a9
ffbc.00aa
ffbc.00ab
ffbc.00ac
ffbc.00ad
ffbc.00ae
ffbc.00af
ffbc.00b0
ffbc.00b1
ffbc.00b2
ffbc.00b3
ffbc.00b4
ffbc.00b5
ffbc.00b6
ffbc.00b7
ffbc.00b8
ffbc.00b9
ffbc.00ba
ffbc.00bb
ffbc.00bc
ffbc.00bd
ffbc.00be
ffbc.00bf
ffbc.00c0
ffbc.00c1
ffbc.00c2
ffbc.00c3
ffbc.00c4
ffbc.00c5
ffbc.00c6
ffbc.00c7
ffbc.00c8
ffbc.00c9
ffbc.00ca
ffbc.00cb
ffbc.00cc
ffbc.00cd
ffbc.00ce
ffbc.00cf
ffbc.00d0
ffbc.00d1
ffbc.00d2
ffbc.00d3
ffbc.00d4
ffbc.00d5
ffbc.00d6
ffbc.00d7
ffbc.00d8
ffbc.00d9
ffbc.00da
ffbc.00db
ffbc.00dc
ffbc.00dd
ffbc.00de
ffbc.00df
ffbc.00e0
ffbc.00e1
ffbc.00e2
ffbc.00e3
ffbc.00e4
ffbc.00e5
ffbc.00e6
ffbc.00e7
ffbc.00e8
ffbc.00e9
ffbc.00ea
ffbc.00eb
ffbc.00ec
ffbc.00ed
ffbc.00ee
ffbc.00ef
ffbc.00f0
ffbc.00f1
ffbc.00f2
ffbc.00f3
ffbc.00f4
ffbc.00f5
ffbc.00f6
ffbc.00f7
ffbc.00f8
ffbc.00f9
ffbc.00fa
ffbc.00fb
ffbc.00fc
ffbc.00fd
ffbc.00fe
ffbc.00ff
Logical Minimum(0)
Logical Maximum(255)
Report Size(16)
Report Count(3)
Report Offset(0)
Flags( Array Absolute )
FEATURE(3)[FEATURE]
Field(0)
Usage(256)
ffbc.0000
ffbc.0001
ffbc.0002
ffbc.0003
ffbc.0004
ffbc.0005
ffbc.0006
ffbc.0007
ffbc.0008
ffbc.0009
ffbc.000a
ffbc.000b
ffbc.000c
ffbc.000d
ffbc.000e
ffbc.000f
ffbc.0010
ffbc.0011
ffbc.0012
ffbc.0013
ffbc.0014
ffbc.0015
ffbc.0016
ffbc.0017
ffbc.0018
ffbc.0019
ffbc.001a
ffbc.001b
ffbc.001c
ffbc.001d
ffbc.001e
ffbc.001f
ffbc.0020
ffbc.0021
ffbc.0022
ffbc.0023
ffbc.0024
ffbc.0025
ffbc.0026
ffbc.0027
ffbc.0028
ffbc.0029
ffbc.002a
ffbc.002b
ffbc.002c
ffbc.002d
ffbc.002e
ffbc.002f
ffbc.0030
ffbc.0031
ffbc.0032
ffbc.0033
ffbc.0034
ffbc.0035
ffbc.0036
ffbc.0037
ffbc.0038
ffbc.0039
ffbc.003a
ffbc.003b
ffbc.003c
ffbc.003d
ffbc.003e
ffbc.003f
ffbc.0040
ffbc.0041
ffbc.0042
ffbc.0043
ffbc.0044
ffbc.0045
ffbc.0046
ffbc.0047
ffbc.0048
ffbc.0049
ffbc.004a
ffbc.004b
ffbc.004c
ffbc.004d
ffbc.004e
ffbc.004f
ffbc.0050
ffbc.0051
ffbc.0052
ffbc.0053
ffbc.0054
ffbc.0055
ffbc.0056
ffbc.0057
ffbc.0058
ffbc.0059
ffbc.005a
ffbc.005b
ffbc.005c
ffbc.005d
ffbc.005e
ffbc.005f
ffbc.0060
ffbc.0061
ffbc.0062
ffbc.0063
ffbc.0064
ffbc.0065
ffbc.0066
ffbc.0067
ffbc.0068
ffbc.0069
ffbc.006a
ffbc.006b
ffbc.006c
ffbc.006d
ffbc.006e
ffbc.006f
ffbc.0070
ffbc.0071
ffbc.0072
ffbc.0073
ffbc.0074
ffbc.0075
ffbc.0076
ffbc.0077
ffbc.0078
ffbc.0079
ffbc.007a
ffbc.007b
ffbc.007c
ffbc.007d
ffbc.007e
ffbc.007f
ffbc.0080
ffbc.0081
ffbc.0082
ffbc.0083
ffbc.0084
ffbc.0085
ffbc.0086
ffbc.0087
ffbc.0088
ffbc.0089
ffbc.008a
ffbc.008b
ffbc.008c
ffbc.008d
ffbc.008e
ffbc.008f
ffbc.0090
ffbc.0091
ffbc.0092
ffbc.0093
ffbc.0094
ffbc.0095
ffbc.0096
ffbc.0097
ffbc.0098
ffbc.0099
ffbc.009a
ffbc.009b
ffbc.009c
ffbc.009d
ffbc.009e
ffbc.009f
ffbc.00a0
ffbc.00a1
ffbc.00a2
ffbc.00a3
ffbc.00a4
ffbc.00a5
ffbc.00a6
ffbc.00a7
ffbc.00a8
ffbc.00a9
ffbc.00aa
ffbc.00ab
ffbc.00ac
ffbc.00ad
ffbc.00ae
ffbc.00af
ffbc.00b0
ffbc.00b1
ffbc.00b2
ffbc.00b3
ffbc.00b4
ffbc.00b5
ffbc.00b6
ffbc.00b7
ffbc.00b8
ffbc.00b9
ffbc.00ba
ffbc.00bb
ffbc.00bc
ffbc.00bd
ffbc.00be
ffbc.00bf
ffbc.00c0
ffbc.00c1
ffbc.00c2
ffbc.00c3
ffbc.00c4
ffbc.00c5
ffbc.00c6
ffbc.00c7
ffbc.00c8
ffbc.00c9
ffbc.00ca
ffbc.00cb
ffbc.00cc
ffbc.00cd
ffbc.00ce
ffbc.00cf
ffbc.00d0
ffbc.00d1
ffbc.00d2
ffbc.00d3
ffbc.00d4
ffbc.00d5
ffbc.00d6
ffbc.00d7
ffbc.00d8
ffbc.00d9
ffbc.00da
ffbc.00db
ffbc.00dc
ffbc.00dd
ffbc.00de
ffbc.00df
ffbc.00e0
ffbc.00e1
ffbc.00e2
ffbc.00e3
ffbc.00e4
ffbc.00e5
ffbc.00e6
ffbc.00e7
ffbc.00e8
ffbc.00e9
ffbc.00ea
ffbc.00eb
ffbc.00ec
ffbc.00ed
ffbc.00ee
ffbc.00ef
ffbc.00f0
ffbc.00f1
ffbc.00f2
ffbc.00f3
ffbc.00f4
ffbc.00f5
ffbc.00f6
ffbc.00f7
ffbc.00f8
ffbc.00f9
ffbc.00fa
ffbc.00fb
ffbc.00fc
ffbc.00fd
ffbc.00fe
ffbc.00ff
Logical Minimum(0)
Logical Maximum(255)
Report Size(8)
Report Count(7)
Report Offset(0)
Flags( Array Relative )
GenericDesktop.SystemPowerDown ---> Key.Power
GenericDesktop.SystemSleep ---> Key.Sleep
GenericDesktop.SystemWakeUp ---> Key.WakeUp
Consumer.0000 ---> Sync.Report
Consumer.0001 ---> Sync.Report
Consumer.0002 ---> Sync.Report
Consumer.0003 ---> Sync.Report
Consumer.0004 ---> Sync.Report
Consumer.0005 ---> Sync.Report
Consumer.0006 ---> Sync.Report
Consumer.0007 ---> Sync.Report
Consumer.0008 ---> Sync.Report
Consumer.0009 ---> Sync.Report
Consumer.000a ---> Sync.Report
Consumer.000b ---> Sync.Report
Consumer.000c ---> Sync.Report
Consumer.000d ---> Sync.Report
Consumer.000e ---> Sync.Report
Consumer.000f ---> Sync.Report
Consumer.0010 ---> Sync.Report
Consumer.0011 ---> Sync.Report
Consumer.0012 ---> Sync.Report
Consumer.0013 ---> Sync.Report
Consumer.0014 ---> Sync.Report
Consumer.0015 ---> Sync.Report
Consumer.0016 ---> Sync.Report
Consumer.0017 ---> Sync.Report
Consumer.0018 ---> Sync.Report
Consumer.0019 ---> Sync.Report
Consumer.001a ---> Sync.Report
Consumer.001b ---> Sync.Report
Consumer.001c ---> Sync.Report
Consumer.001d ---> Sync.Report
Consumer.001e ---> Sync.Report
Consumer.001f ---> Sync.Report
Consumer.0020 ---> Sync.Report
Consumer.0021 ---> Sync.Report
Consumer.0022 ---> Sync.Report
Consumer.0023 ---> Sync.Report
Consumer.0024 ---> Sync.Report
Consumer.0025 ---> Sync.Report
Consumer.0026 ---> Sync.Report
Consumer.0027 ---> Sync.Report
Consumer.0028 ---> Sync.Report
Consumer.0029 ---> Sync.Report
Consumer.002a ---> Sync.Report
Consumer.002b ---> Sync.Report
Consumer.002c ---> Sync.Report
Consumer.002d ---> Sync.Report
Consumer.002e ---> Sync.Report
Consumer.002f ---> Sync.Report
Consumer.0030 ---> Sync.Report
Consumer.0031 ---> Sync.Report
Consumer.0032 ---> Sync.Report
Consumer.0033 ---> Sync.Report
Consumer.0034 ---> Key.Sleep
Consumer.0035 ---> Sync.Report
Consumer.0036 ---> Key.Btn0
Consumer.0037 ---> Sync.Report
Consumer.0038 ---> Sync.Report
Consumer.0039 ---> Sync.Report
Consumer.003a ---> Sync.Report
Consumer.003b ---> Sync.Report
Consumer.003c ---> Sync.Report
Consumer.003d ---> Sync.Report
Consumer.003e ---> Sync.Report
Consumer.003f ---> Sync.Report
Consumer.0040 ---> Key.Menu
Consumer.0041 ---> Sync.Report
Consumer.0042 ---> Sync.Report
Consumer.0043 ---> Sync.Report
Consumer.0044 ---> Sync.Report
Consumer.0045 ---> Key.Radio
Consumer.0046 ---> Sync.Report
Consumer.0047 ---> Sync.Report
Consumer.0048 ---> Sync.Report
Consumer.0049 ---> Sync.Report
Consumer.004a ---> Sync.Report
Consumer.004b ---> Sync.Report
Consumer.004c ---> Sync.Report
Consumer.004d ---> Sync.Report
Consumer.004e ---> Sync.Report
Consumer.004f ---> Sync.Report
Consumer.0050 ---> Sync.Report
Consumer.0051 ---> Sync.Report
Consumer.0052 ---> Sync.Report
Consumer.0053 ---> Sync.Report
Consumer.0054 ---> Sync.Report
Consumer.0055 ---> Sync.Report
Consumer.0056 ---> Sync.Report
Consumer.0057 ---> Sync.Report
Consumer.0058 ---> Sync.Report
Consumer.0059 ---> Sync.Report
Consumer.005a ---> Sync.Report
Consumer.005b ---> Sync.Report
Consumer.005c ---> Sync.Report
Consumer.005d ---> Sync.Report
Consumer.005e ---> Sync.Report
Consumer.005f ---> Sync.Report
Consumer.0060 ---> Sync.Report
Consumer.0061 ---> Sync.Report
Consumer.0062 ---> Sync.Report
Consumer.0063 ---> Sync.Report
Consumer.0064 ---> Sync.Report
Consumer.0065 ---> Sync.Report
Consumer.0066 ---> Sync.Report
Consumer.0067 ---> Sync.Report
Consumer.0068 ---> Sync.Report
Consumer.0069 ---> Sync.Report
Consumer.006a ---> Sync.Report
Consumer.006b ---> Sync.Report
Consumer.006c ---> Sync.Report
Consumer.006d ---> Sync.Report
Consumer.006e ---> Sync.Report
Consumer.006f ---> Sync.Report
Consumer.0070 ---> Sync.Report
Consumer.0071 ---> Sync.Report
Consumer.0072 ---> Sync.Report
Consumer.0073 ---> Sync.Report
Consumer.0074 ---> Sync.Report
Consumer.0075 ---> Sync.Report
Consumer.0076 ---> Sync.Report
Consumer.0077 ---> Sync.Report
Consumer.0078 ---> Sync.Report
Consumer.0079 ---> Sync.Report
Consumer.007a ---> Sync.Report
Consumer.007b ---> Sync.Report
Consumer.007c ---> Sync.Report
Consumer.007d ---> Sync.Report
Consumer.007e ---> Sync.Report
Consumer.007f ---> Sync.Report
Consumer.0080 ---> Sync.Report
Consumer.0081 ---> Sync.Report
Consumer.0082 ---> Sync.Report
Consumer.0083 ---> Key.Last
Consumer.0084 ---> Sync.Report
Consumer.0085 ---> Sync.Report
Consumer.0086 ---> Sync.Report
Consumer.0087 ---> Sync.Report
Consumer.0088 ---> Key.PC
Consumer.0089 ---> Key.TV
Consumer.008a ---> Key.WWW
Consumer.008b ---> Key.DVD
Consumer.008c ---> Key.Phone
Consumer.008d ---> Key.Program
Consumer.008e ---> Key.?
Consumer.008f ---> Key.?
Consumer.0090 ---> Key.Memo
Consumer.0091 ---> Key.CD
Consumer.0092 ---> Key.VCR
Consumer.0093 ---> Key.Tuner
Consumer.0094 ---> Key.Exit
Consumer.0095 ---> Key.Help
Consumer.0096 ---> Key.Tape
Consumer.0097 ---> Key.TV2
Consumer.0098 ---> Key.Sat
Consumer.0099 ---> Sync.Report
Consumer.009a ---> Key.PVR
Consumer.009b ---> Sync.Report
Consumer.009c ---> Key.ChannelUp
Consumer.009d ---> Key.ChannelDown
Consumer.009e ---> Sync.Report
Consumer.009f ---> Sync.Report
Consumer.00a0 ---> Key.VCR2
Consumer.00a1 ---> Sync.Report
Consumer.00a2 ---> Sync.Report
Consumer.00a3 ---> Sync.Report
Consumer.00a4 ---> Sync.Report
Consumer.00a5 ---> Sync.Report
Consumer.00a6 ---> Sync.Report
Consumer.00a7 ---> Sync.Report
Consumer.00a8 ---> Sync.Report
Consumer.00a9 ---> Sync.Report
Consumer.00aa ---> Sync.Report
Consumer.00ab ---> Sync.Report
Consumer.00ac ---> Sync.Report
Consumer.00ad ---> Sync.Report
Consumer.00ae ---> Sync.Report
Consumer.00af ---> Sync.Report
Consumer.00b0 ---> Key.Play
Consumer.00b1 ---> Key.Pause
Consumer.00b2 ---> Key.Record
Consumer.00b3 ---> Key.FastForward
Consumer.00b4 ---> Key.Rewind
Consumer.00b5 ---> Key.NextSong
Consumer.00b6 ---> Key.PreviousSong
Consumer.00b7 ---> Key.StopCD
Consumer.00b8 ---> Key.EjectCD
Consumer.00b9 ---> Sync.Report
Consumer.00ba ---> Sync.Report
Consumer.00bb ---> Sync.Report
Consumer.00bc ---> Key.?
Consumer.00bd ---> Sync.Report
Consumer.00be ---> Sync.Report
Consumer.00bf ---> Sync.Report
Consumer.00c0 ---> Sync.Report
Consumer.00c1 ---> Sync.Report
Consumer.00c2 ---> Sync.Report
Consumer.00c3 ---> Sync.Report
Consumer.00c4 ---> Sync.Report
Consumer.00c5 ---> Sync.Report
Consumer.00c6 ---> Sync.Report
Consumer.00c7 ---> Sync.Report
Consumer.00c8 ---> Sync.Report
Consumer.00c9 ---> Sync.Report
Consumer.00ca ---> Sync.Report
Consumer.00cb ---> Sync.Report
Consumer.00cc ---> Sync.Report
Consumer.00cd ---> Key.PlayPause
Consumer.00ce ---> Sync.Report
Consumer.00cf ---> Sync.Report
Consumer.00d0 ---> Sync.Report
Consumer.00d1 ---> Sync.Report
Consumer.00d2 ---> Sync.Report
Consumer.00d3 ---> Sync.Report
Consumer.00d4 ---> Sync.Report
Consumer.00d5 ---> Sync.Report
Consumer.00d6 ---> Sync.Report
Consumer.00d7 ---> Sync.Report
Consumer.00d8 ---> Sync.Report
Consumer.00d9 ---> Sync.Report
Consumer.00da ---> Sync.Report
Consumer.00db ---> Sync.Report
Consumer.00dc ---> Sync.Report
Consumer.00dd ---> Sync.Report
Consumer.00de ---> Sync.Report
Consumer.00df ---> Sync.Report
Consumer.00e0 ---> Absolute.Volume
Consumer.00e1 ---> Sync.Report
Consumer.00e2 ---> Key.Mute
Consumer.00e3 ---> Sync.Report
Consumer.00e4 ---> Sync.Report
Consumer.00e5 ---> Key.BassBoost
Consumer.00e6 ---> Sync.Report
Consumer.00e7 ---> Sync.Report
Consumer.00e8 ---> Sync.Report
Consumer.00e9 ---> Key.VolumeUp
Consumer.00ea ---> Key.VolumeDown
Consumer.00eb ---> Sync.Report
Consumer.00ec ---> Sync.Report
Consumer.00ed ---> Sync.Report
Consumer.00ee ---> Sync.Report
Consumer.00ef ---> Sync.Report
Consumer.00f0 ---> Sync.Report
Consumer.00f1 ---> Sync.Report
Consumer.00f2 ---> Sync.Report
Consumer.00f3 ---> Sync.Report
Consumer.00f4 ---> Sync.Report
Consumer.00f5 ---> Sync.Report
Consumer.00f6 ---> Sync.Report
Consumer.00f7 ---> Sync.Report
Consumer.00f8 ---> Sync.Report
Consumer.00f9 ---> Sync.Report
Consumer.00fa ---> Sync.Report
Consumer.00fb ---> Sync.Report
Consumer.00fc ---> Sync.Report
Consumer.00fd ---> Sync.Report
Consumer.00fe ---> Sync.Report
Consumer.00ff ---> Sync.Report
Consumer.0100 ---> Sync.Report
Consumer.0101 ---> Sync.Report
Consumer.0102 ---> Sync.Report
Consumer.0103 ---> Sync.Report
Consumer.0104 ---> Sync.Report
Consumer.0105 ---> Sync.Report
Consumer.0106 ---> Sync.Report
Consumer.0107 ---> Sync.Report
Consumer.0108 ---> Sync.Report
Consumer.0109 ---> Sync.Report
Consumer.010a ---> Sync.Report
Consumer.010b ---> Sync.Report
Consumer.010c ---> Sync.Report
Consumer.010d ---> Sync.Report
Consumer.010e ---> Sync.Report
Consumer.010f ---> Sync.Report
Consumer.0110 ---> Sync.Report
Consumer.0111 ---> Sync.Report
Consumer.0112 ---> Sync.Report
Consumer.0113 ---> Sync.Report
Consumer.0114 ---> Sync.Report
Consumer.0115 ---> Sync.Report
Consumer.0116 ---> Sync.Report
Consumer.0117 ---> Sync.Report
Consumer.0118 ---> Sync.Report
Consumer.0119 ---> Sync.Report
Consumer.011a ---> Sync.Report
Consumer.011b ---> Sync.Report
Consumer.011c ---> Sync.Report
Consumer.011d ---> Sync.Report
Consumer.011e ---> Sync.Report
Consumer.011f ---> Sync.Report
Consumer.0120 ---> Sync.Report
Consumer.0121 ---> Sync.Report
Consumer.0122 ---> Sync.Report
Consumer.0123 ---> Sync.Report
Consumer.0124 ---> Sync.Report
Consumer.0125 ---> Sync.Report
Consumer.0126 ---> Sync.Report
Consumer.0127 ---> Sync.Report
Consumer.0128 ---> Sync.Report
Consumer.0129 ---> Sync.Report
Consumer.012a ---> Sync.Report
Consumer.012b ---> Sync.Report
Consumer.012c ---> Sync.Report
Consumer.012d ---> Sync.Report
Consumer.012e ---> Sync.Report
Consumer.012f ---> Sync.Report
Consumer.0130 ---> Sync.Report
Consumer.0131 ---> Sync.Report
Consumer.0132 ---> Sync.Report
Consumer.0133 ---> Sync.Report
Consumer.0134 ---> Sync.Report
Consumer.0135 ---> Sync.Report
Consumer.0136 ---> Sync.Report
Consumer.0137 ---> Sync.Report
Consumer.0138 ---> Sync.Report
Consumer.0139 ---> Sync.Report
Consumer.013a ---> Sync.Report
Consumer.013b ---> Sync.Report
Consumer.013c ---> Sync.Report
Consumer.013d ---> Sync.Report
Consumer.013e ---> Sync.Report
Consumer.013f ---> Sync.Report
Consumer.0140 ---> Sync.Report
Consumer.0141 ---> Sync.Report
Consumer.0142 ---> Sync.Report
Consumer.0143 ---> Sync.Report
Consumer.0144 ---> Sync.Report
Consumer.0145 ---> Sync.Report
Consumer.0146 ---> Sync.Report
Consumer.0147 ---> Sync.Report
Consumer.0148 ---> Sync.Report
Consumer.0149 ---> Sync.Report
Consumer.014a ---> Sync.Report
Consumer.014b ---> Sync.Report
Consumer.014c ---> Sync.Report
Consumer.014d ---> Sync.Report
Consumer.014e ---> Sync.Report
Consumer.014f ---> Sync.Report
Consumer.0150 ---> Sync.Report
Consumer.0151 ---> Sync.Report
Consumer.0152 ---> Sync.Report
Consumer.0153 ---> Sync.Report
Consumer.0154 ---> Sync.Report
Consumer.0155 ---> Sync.Report
Consumer.0156 ---> Sync.Report
Consumer.0157 ---> Sync.Report
Consumer.0158 ---> Sync.Report
Consumer.0159 ---> Sync.Report
Consumer.015a ---> Sync.Report
Consumer.015b ---> Sync.Report
Consumer.015c ---> Sync.Report
Consumer.015d ---> Sync.Report
Consumer.015e ---> Sync.Report
Consumer.015f ---> Sync.Report
Consumer.0160 ---> Sync.Report
Consumer.0161 ---> Sync.Report
Consumer.0162 ---> Sync.Report
Consumer.0163 ---> Sync.Report
Consumer.0164 ---> Sync.Report
Consumer.0165 ---> Sync.Report
Consumer.0166 ---> Sync.Report
Consumer.0167 ---> Sync.Report
Consumer.0168 ---> Sync.Report
Consumer.0169 ---> Sync.Report
Consumer.016a ---> Sync.Report
Consumer.016b ---> Sync.Report
Consumer.016c ---> Sync.Report
Consumer.016d ---> Sync.Report
Consumer.016e ---> Sync.Report
Consumer.016f ---> Sync.Report
Consumer.0170 ---> Sync.Report
Consumer.0171 ---> Sync.Report
Consumer.0172 ---> Sync.Report
Consumer.0173 ---> Sync.Report
Consumer.0174 ---> Sync.Report
Consumer.0175 ---> Sync.Report
Consumer.0176 ---> Sync.Report
Consumer.0177 ---> Sync.Report
Consumer.0178 ---> Sync.Report
Consumer.0179 ---> Sync.Report
Consumer.017a ---> Sync.Report
Consumer.017b ---> Sync.Report
Consumer.017c ---> Sync.Report
Consumer.017d ---> Sync.Report
Consumer.017e ---> Sync.Report
Consumer.017f ---> Sync.Report
Consumer.0180 ---> Sync.Report
Consumer.0181 ---> Sync.Report
Consumer.0182 ---> Key.Bookmarks
Consumer.0183 ---> Key.Config
Consumer.0184 ---> Key.?
Consumer.0185 ---> Key.?
Consumer.0186 ---> Key.?
Consumer.0187 ---> Key.?
Consumer.0188 ---> Key.?
Consumer.0189 ---> Key.?
Consumer.018a ---> Key.Mail
Consumer.018b ---> Key.?
Consumer.018c ---> Key.?
Consumer.018d ---> Key.?
Consumer.018e ---> Key.Calendar
Consumer.018f ---> Sync.Report
Consumer.0190 ---> Sync.Report
Consumer.0191 ---> Key.Finance
Consumer.0192 ---> Key.Calc
Consumer.0193 ---> Sync.Report
Consumer.0194 ---> Key.File
Consumer.0195 ---> Sync.Report
Consumer.0196 ---> Key.WWW
Consumer.0197 ---> Sync.Report
Consumer.0198 ---> Sync.Report
Consumer.0199 ---> Sync.Report
Consumer.019a ---> Sync.Report
Consumer.019b ---> Sync.Report
Consumer.019c ---> Key.Logoff
Consumer.019d ---> Sync.Report
Consumer.019e ---> Key.Coffee
Consumer.019f ---> Sync.Report
Consumer.01a0 ---> Sync.Report
Consumer.01a1 ---> Sync.Report
Consumer.01a2 ---> Sync.Report
Consumer.01a3 ---> Sync.Report
Consumer.01a4 ---> Sync.Report
Consumer.01a5 ---> Sync.Report
Consumer.01a6 ---> Key.Help
Consumer.01a7 ---> Key.Documents
Consumer.01a8 ---> Sync.Report
Consumer.01a9 ---> Sync.Report
Consumer.01aa ---> Sync.Report
Consumer.01ab ---> Key.SpellCheck
Consumer.01ac ---> Sync.Report
Consumer.01ad ---> Sync.Report
Consumer.01ae ---> Sync.Report
Consumer.01af ---> Sync.Report
Consumer.01b0 ---> Sync.Report
Consumer.01b1 ---> Sync.Report
Consumer.01b2 ---> Sync.Report
Consumer.01b3 ---> Sync.Report
Consumer.01b4 ---> Sync.Report
Consumer.01b5 ---> Sync.Report
Consumer.01b6 ---> Key.Media
Consumer.01b7 ---> Key.Sound
Consumer.01b8 ---> Sync.Report
Consumer.01b9 ---> Sync.Report
Consumer.01ba ---> Sync.Report
Consumer.01bb ---> Sync.Report
Consumer.01bc ---> Key.?
Consumer.01bd ---> Key.Info
Consumer.01be ---> Sync.Report
Consumer.01bf ---> Sync.Report
Consumer.01c0 ---> Sync.Report
Consumer.01c1 ---> Sync.Report
Consumer.01c2 ---> Sync.Report
Consumer.01c3 ---> Sync.Report
Consumer.01c4 ---> Sync.Report
Consumer.01c5 ---> Sync.Report
Consumer.01c6 ---> Sync.Report
Consumer.01c7 ---> Sync.Report
Consumer.01c8 ---> Sync.Report
Consumer.01c9 ---> Sync.Report
Consumer.01ca ---> Sync.Report
Consumer.01cb ---> Sync.Report
Consumer.01cc ---> Sync.Report
Consumer.01cd ---> Sync.Report
Consumer.01ce ---> Sync.Report
Consumer.01cf ---> Sync.Report
Consumer.01d0 ---> Sync.Report
Consumer.01d1 ---> Sync.Report
Consumer.01d2 ---> Sync.Report
Consumer.01d3 ---> Sync.Report
Consumer.01d4 ---> Sync.Report
Consumer.01d5 ---> Sync.Report
Consumer.01d6 ---> Sync.Report
Consumer.01d7 ---> Sync.Report
Consumer.01d8 ---> Sync.Report
Consumer.01d9 ---> Sync.Report
Consumer.01da ---> Sync.Report
Consumer.01db ---> Sync.Report
Consumer.01dc ---> Sync.Report
Consumer.01dd ---> Sync.Report
Consumer.01de ---> Sync.Report
Consumer.01df ---> Sync.Report
Consumer.01e0 ---> Sync.Report
Consumer.01e1 ---> Sync.Report
Consumer.01e2 ---> Sync.Report
Consumer.01e3 ---> Sync.Report
Consumer.01e4 ---> Sync.Report
Consumer.01e5 ---> Sync.Report
Consumer.01e6 ---> Sync.Report
Consumer.01e7 ---> Sync.Report
Consumer.01e8 ---> Sync.Report
Consumer.01e9 ---> Sync.Report
Consumer.01ea ---> Sync.Report
Consumer.01eb ---> Sync.Report
Consumer.01ec ---> Sync.Report
Consumer.01ed ---> Sync.Report
Consumer.01ee ---> Sync.Report
Consumer.01ef ---> Sync.Report
Consumer.01f0 ---> Sync.Report
Consumer.01f1 ---> Sync.Report
Consumer.01f2 ---> Sync.Report
Consumer.01f3 ---> Sync.Report
Consumer.01f4 ---> Sync.Report
Consumer.01f5 ---> Sync.Report
Consumer.01f6 ---> Sync.Report
Consumer.01f7 ---> Sync.Report
Consumer.01f8 ---> Sync.Report
Consumer.01f9 ---> Sync.Report
Consumer.01fa ---> Sync.Report
Consumer.01fb ---> Sync.Report
Consumer.01fc ---> Sync.Report
Consumer.01fd ---> Sync.Report
Consumer.01fe ---> Sync.Report
Consumer.01ff ---> Sync.Report
Consumer.0200 ---> Sync.Report
Consumer.0201 ---> Key.New
Consumer.0202 ---> Key.Open
Consumer.0203 ---> Key.Close
Consumer.0204 ---> Key.Exit
Consumer.0205 ---> Sync.Report
Consumer.0206 ---> Sync.Report
Consumer.0207 ---> Key.Save
Consumer.0208 ---> Key.Print
Consumer.0209 ---> Key.Props
Consumer.020a ---> Sync.Report
Consumer.020b ---> Sync.Report
Consumer.020c ---> Sync.Report
Consumer.020d ---> Sync.Report
Consumer.020e ---> Sync.Report
Consumer.020f ---> Sync.Report
Consumer.0210 ---> Sync.Report
Consumer.0211 ---> Sync.Report
Consumer.0212 ---> Sync.Report
Consumer.0213 ---> Sync.Report
Consumer.0214 ---> Sync.Report
Consumer.0215 ---> Sync.Report
Consumer.0216 ---> Sync.Report
Consumer.0217 ---> Sync.Report
Consumer.0218 ---> Sync.Report
Consumer.0219 ---> Sync.Report
Consumer.021a ---> Key.Undo
Consumer.021b ---> Key.Copy
Consumer.021c ---> Key.Cut
Consumer.021d ---> Key.Paste
Consumer.021e ---> Sync.Report
Consumer.021f ---> Key.Find
Consumer.0220 ---> Sync.Report
Consumer.0221 ---> Key.Search
Consumer.0222 ---> Key.Goto
Consumer.0223 ---> Key.HomePage
Consumer.0224 ---> Key.Back
Consumer.0225 ---> Key.Forward
Consumer.0226 ---> Key.Stop
Consumer.0227 ---> Key.Refresh
Consumer.0228 ---> Sync.Report
Consumer.0229 ---> Sync.Report
Consumer.022a ---> Key.Bookmarks
Consumer.022b ---> Sync.Report
Consumer.022c ---> Sync.Report
Consumer.022d ---> Key.?
Consumer.022e ---> Key.?
Consumer.022f ---> Key.?
Consumer.0230 ---> Sync.Report
Consumer.0231 ---> Sync.Report
Consumer.0232 ---> Sync.Report
Consumer.0233 ---> Key.ScrollUp
Consumer.0234 ---> Key.ScrollDown
Consumer.0235 ---> Sync.Report
Consumer.0236 ---> Sync.Report
Consumer.0237 ---> Sync.Report
Consumer.HorizontalWheel ---> Relative.HWheel
Consumer.0239 ---> Sync.Report
Consumer.023a ---> Sync.Report
Consumer.023b ---> Sync.Report
Consumer.023c ---> Sync.Report
Consumer.023d ---> Sync.Report
Consumer.023e ---> Sync.Report
Consumer.023f ---> Sync.Report
Consumer.0240 ---> Sync.Report
Consumer.0241 ---> Sync.Report
Consumer.0242 ---> Sync.Report
Consumer.0243 ---> Sync.Report
Consumer.0244 ---> Sync.Report
Consumer.0245 ---> Sync.Report
Consumer.0246 ---> Sync.Report
Consumer.0247 ---> Sync.Report
Consumer.0248 ---> Sync.Report
Consumer.0249 ---> Sync.Report
Consumer.024a ---> Sync.Report
Consumer.024b ---> Sync.Report
Consumer.024c ---> Sync.Report
Consumer.024d ---> Sync.Report
Consumer.024e ---> Sync.Report
Consumer.024f ---> Sync.Report
Consumer.0250 ---> Sync.Report
Consumer.0251 ---> Sync.Report
Consumer.0252 ---> Sync.Report
Consumer.0253 ---> Sync.Report
Consumer.0254 ---> Sync.Report
Consumer.0255 ---> Sync.Report
Consumer.0256 ---> Sync.Report
Consumer.0257 ---> Sync.Report
Consumer.0258 ---> Sync.Report
Consumer.0259 ---> Sync.Report
Consumer.025a ---> Sync.Report
Consumer.025b ---> Sync.Report
Consumer.025c ---> Sync.Report
Consumer.025d ---> Sync.Report
Consumer.025e ---> Sync.Report
Consumer.025f ---> Key.Cancel
Consumer.0260 ---> Sync.Report
Consumer.0261 ---> Sync.Report
Consumer.0262 ---> Sync.Report
Consumer.0263 ---> Sync.Report
Consumer.0264 ---> Sync.Report
Consumer.0265 ---> Sync.Report
Consumer.0266 ---> Sync.Report
Consumer.0267 ---> Sync.Report
Consumer.0268 ---> Sync.Report
Consumer.0269 ---> Sync.Report
Consumer.026a ---> Sync.Report
Consumer.026b ---> Sync.Report
Consumer.026c ---> Sync.Report
Consumer.026d ---> Sync.Report
Consumer.026e ---> Sync.Report
Consumer.026f ---> Sync.Report
Consumer.0270 ---> Sync.Report
Consumer.0271 ---> Sync.Report
Consumer.0272 ---> Sync.Report
Consumer.0273 ---> Sync.Report
Consumer.0274 ---> Sync.Report
Consumer.0275 ---> Sync.Report
Consumer.0276 ---> Sync.Report
Consumer.0277 ---> Sync.Report
Consumer.0278 ---> Sync.Report
Consumer.0279 ---> Key.Redo
Consumer.027a ---> Sync.Report
Consumer.027b ---> Sync.Report
Consumer.027c ---> Sync.Report
Consumer.027d ---> Sync.Report
Consumer.027e ---> Sync.Report
Consumer.027f ---> Sync.Report
Consumer.0280 ---> Sync.Report
Consumer.0281 ---> Sync.Report
Consumer.0282 ---> Sync.Report
Consumer.0283 ---> Sync.Report
Consumer.0284 ---> Sync.Report
Consumer.0285 ---> Sync.Report
Consumer.0286 ---> Sync.Report
Consumer.0287 ---> Sync.Report
Consumer.0288 ---> Sync.Report
Consumer.0289 ---> Key.Reply
Consumer.028a ---> Sync.Report
Consumer.028b ---> Key.ForwardMail
Consumer.028c ---> Key.Send
Consumer.028d ---> Sync.Report
Consumer.028e ---> Sync.Report
Consumer.028f ---> Sync.Report
Consumer.0290 ---> Sync.Report
Consumer.0291 ---> Sync.Report
Consumer.0292 ---> Sync.Report
Consumer.0293 ---> Sync.Report
Consumer.0294 ---> Sync.Report
Consumer.0295 ---> Sync.Report
Consumer.0296 ---> Sync.Report
Consumer.0297 ---> Sync.Report
Consumer.0298 ---> Sync.Report
Consumer.0299 ---> Sync.Report
Consumer.029a ---> Sync.Report
Consumer.029b ---> Sync.Report
Consumer.029c ---> Sync.Report
Consumer.029d ---> Sync.Report
Consumer.029e ---> Sync.Report
Consumer.029f ---> Sync.Report
Consumer.02a0 ---> Sync.Report
Consumer.02a1 ---> Sync.Report
Consumer.02a2 ---> Sync.Report
Consumer.02a3 ---> Sync.Report
Consumer.02a4 ---> Sync.Report
Consumer.02a5 ---> Sync.Report
Consumer.02a6 ---> Sync.Report
Consumer.02a7 ---> Sync.Report
Consumer.02a8 ---> Sync.Report
Consumer.02a9 ---> Sync.Report
Consumer.02aa ---> Sync.Report
Consumer.02ab ---> Sync.Report
Consumer.02ac ---> Sync.Report
Consumer.02ad ---> Sync.Report
Consumer.02ae ---> Sync.Report
Consumer.02af ---> Sync.Report
Consumer.02b0 ---> Sync.Report
Consumer.02b1 ---> Sync.Report
Consumer.02b2 ---> Sync.Report
Consumer.02b3 ---> Sync.Report
Consumer.02b4 ---> Sync.Report
Consumer.02b5 ---> Sync.Report
Consumer.02b6 ---> Sync.Report
Consumer.02b7 ---> Sync.Report
Consumer.02b8 ---> Sync.Report
Consumer.02b9 ---> Sync.Report
Consumer.02ba ---> Sync.Report
Consumer.02bb ---> Sync.Report
Consumer.02bc ---> Sync.Report
Consumer.02bd ---> Sync.Report
Consumer.02be ---> Sync.Report
Consumer.02bf ---> Sync.Report
Consumer.02c0 ---> Sync.Report
Consumer.02c1 ---> Sync.Report
Consumer.02c2 ---> Sync.Report
Consumer.02c3 ---> Sync.Report
Consumer.02c4 ---> Sync.Report
Consumer.02c5 ---> Sync.Report
Consumer.02c6 ---> Sync.Report
Consumer.02c7 ---> Sync.Report
Consumer.02c8 ---> Sync.Report
Consumer.02c9 ---> Sync.Report
Consumer.02ca ---> Sync.Report
Consumer.02cb ---> Sync.Report
Consumer.02cc ---> Sync.Report
Consumer.02cd ---> Sync.Report
Consumer.02ce ---> Sync.Report
Consumer.02cf ---> Sync.Report
Consumer.02d0 ---> Sync.Report
Consumer.02d1 ---> Sync.Report
Consumer.02d2 ---> Sync.Report
Consumer.02d3 ---> Sync.Report
Consumer.02d4 ---> Sync.Report
Consumer.02d5 ---> Sync.Report
Consumer.02d6 ---> Sync.Report
Consumer.02d7 ---> Sync.Report
Consumer.02d8 ---> Sync.Report
Consumer.02d9 ---> Sync.Report
Consumer.02da ---> Sync.Report
Consumer.02db ---> Sync.Report
Consumer.02dc ---> Sync.Report
Consumer.02dd ---> Sync.Report
Consumer.02de ---> Sync.Report
Consumer.02df ---> Sync.Report
Consumer.02e0 ---> Sync.Report
Consumer.02e1 ---> Sync.Report
Consumer.02e2 ---> Sync.Report
Consumer.02e3 ---> Sync.Report
Consumer.02e4 ---> Sync.Report
Consumer.02e5 ---> Sync.Report
Consumer.02e6 ---> Sync.Report
Consumer.02e7 ---> Sync.Report
Consumer.02e8 ---> Sync.Report
Consumer.02e9 ---> Sync.Report
Consumer.02ea ---> Sync.Report
Consumer.02eb ---> Sync.Report
Consumer.02ec ---> Sync.Report
Consumer.02ed ---> Sync.Report
Consumer.02ee ---> Sync.Report
Consumer.02ef ---> Sync.Report
Consumer.02f0 ---> Sync.Report
Consumer.02f1 ---> Sync.Report
Consumer.02f2 ---> Sync.Report
Consumer.02f3 ---> Sync.Report
Consumer.02f4 ---> Sync.Report
Consumer.02f5 ---> Sync.Report
Consumer.02f6 ---> Sync.Report
Consumer.02f7 ---> Sync.Report
Consumer.02f8 ---> Sync.Report
Consumer.02f9 ---> Sync.Report
Consumer.02fa ---> Sync.Report
Consumer.02fb ---> Sync.Report
Consumer.02fc ---> Sync.Report
Consumer.02fd ---> Sync.Report
Consumer.02fe ---> Sync.Report
Consumer.02ff ---> Sync.Report
ffbc.0000 ---> Sync.Report
ffbc.0001 ---> Sync.Report
ffbc.0002 ---> Sync.Report
ffbc.0003 ---> Sync.Report
ffbc.0004 ---> Sync.Report
ffbc.0005 ---> Sync.Report
ffbc.0006 ---> Sync.Report
ffbc.0007 ---> Sync.Report
ffbc.0008 ---> Sync.Report
ffbc.0009 ---> Sync.Report
ffbc.000a ---> Sync.Report
ffbc.000b ---> Sync.Report
ffbc.000c ---> Sync.Report
ffbc.000d ---> Sync.Report
ffbc.000e ---> Sync.Report
ffbc.000f ---> Sync.Report
ffbc.0010 ---> Sync.Report
ffbc.0011 ---> Sync.Report
ffbc.0012 ---> Sync.Report
ffbc.0013 ---> Sync.Report
ffbc.0014 ---> Sync.Report
ffbc.0015 ---> Sync.Report
ffbc.0016 ---> Sync.Report
ffbc.0017 ---> Sync.Report
ffbc.0018 ---> Sync.Report
ffbc.0019 ---> Sync.Report
ffbc.001a ---> Sync.Report
ffbc.001b ---> Sync.Report
ffbc.001c ---> Sync.Report
ffbc.001d ---> Sync.Report
ffbc.001e ---> Sync.Report
ffbc.001f ---> Sync.Report
ffbc.0020 ---> Sync.Report
ffbc.0021 ---> Sync.Report
ffbc.0022 ---> Sync.Report
ffbc.0023 ---> Sync.Report
ffbc.0024 ---> Sync.Report
ffbc.0025 ---> Sync.Report
ffbc.0026 ---> Sync.Report
ffbc.0027 ---> Sync.Report
ffbc.0028 ---> Sync.Report
ffbc.0029 ---> Sync.Report
ffbc.002a ---> Sync.Report
ffbc.002b ---> Sync.Report
ffbc.002c ---> Sync.Report
ffbc.002d ---> Sync.Report
ffbc.002e ---> Sync.Report
ffbc.002f ---> Sync.Report
ffbc.0030 ---> Sync.Report
ffbc.0031 ---> Sync.Report
ffbc.0032 ---> Sync.Report
ffbc.0033 ---> Sync.Report
ffbc.0034 ---> Sync.Report
ffbc.0035 ---> Sync.Report
ffbc.0036 ---> Sync.Report
ffbc.0037 ---> Sync.Report
ffbc.0038 ---> Sync.Report
ffbc.0039 ---> Sync.Report
ffbc.003a ---> Sync.Report
ffbc.003b ---> Sync.Report
ffbc.003c ---> Sync.Report
ffbc.003d ---> Sync.Report
ffbc.003e ---> Sync.Report
ffbc.003f ---> Sync.Report
ffbc.0040 ---> Sync.Report
ffbc.0041 ---> Sync.Report
ffbc.0042 ---> Sync.Report
ffbc.0043 ---> Sync.Report
ffbc.0044 ---> Sync.Report
ffbc.0045 ---> Sync.Report
ffbc.0046 ---> Sync.Report
ffbc.0047 ---> Sync.Report
ffbc.0048 ---> Sync.Report
ffbc.0049 ---> Sync.Report
ffbc.004a ---> Sync.Report
ffbc.004b ---> Sync.Report
ffbc.004c ---> Sync.Report
ffbc.004d ---> Sync.Report
ffbc.004e ---> Sync.Report
ffbc.004f ---> Sync.Report
ffbc.0050 ---> Sync.Report
ffbc.0051 ---> Sync.Report
ffbc.0052 ---> Sync.Report
ffbc.0053 ---> Sync.Report
ffbc.0054 ---> Sync.Report
ffbc.0055 ---> Sync.Report
ffbc.0056 ---> Sync.Report
ffbc.0057 ---> Sync.Report
ffbc.0058 ---> Sync.Report
ffbc.0059 ---> Sync.Report
ffbc.005a ---> Sync.Report
ffbc.005b ---> Sync.Report
ffbc.005c ---> Sync.Report
ffbc.005d ---> Sync.Report
ffbc.005e ---> Sync.Report
ffbc.005f ---> Sync.Report
ffbc.0060 ---> Sync.Report
ffbc.0061 ---> Sync.Report
ffbc.0062 ---> Sync.Report
ffbc.0063 ---> Sync.Report
ffbc.0064 ---> Sync.Report
ffbc.0065 ---> Sync.Report
ffbc.0066 ---> Sync.Report
ffbc.0067 ---> Sync.Report
ffbc.0068 ---> Sync.Report
ffbc.0069 ---> Sync.Report
ffbc.006a ---> Sync.Report
ffbc.006b ---> Sync.Report
ffbc.006c ---> Sync.Report
ffbc.006d ---> Sync.Report
ffbc.006e ---> Sync.Report
ffbc.006f ---> Sync.Report
ffbc.0070 ---> Sync.Report
ffbc.0071 ---> Sync.Report
ffbc.0072 ---> Sync.Report
ffbc.0073 ---> Sync.Report
ffbc.0074 ---> Sync.Report
ffbc.0075 ---> Sync.Report
ffbc.0076 ---> Sync.Report
ffbc.0077 ---> Sync.Report
ffbc.0078 ---> Sync.Report
ffbc.0079 ---> Sync.Report
ffbc.007a ---> Sync.Report
ffbc.007b ---> Sync.Report
ffbc.007c ---> Sync.Report
ffbc.007d ---> Sync.Report
ffbc.007e ---> Sync.Report
ffbc.007f ---> Sync.Report
ffbc.0080 ---> Sync.Report
ffbc.0081 ---> Sync.Report
ffbc.0082 ---> Sync.Report
ffbc.0083 ---> Sync.Report
ffbc.0084 ---> Sync.Report
ffbc.0085 ---> Sync.Report
ffbc.0086 ---> Sync.Report
ffbc.0087 ---> Sync.Report
ffbc.0088 ---> Sync.Report
ffbc.0089 ---> Sync.Report
ffbc.008a ---> Sync.Report
ffbc.008b ---> Sync.Report
ffbc.008c ---> Sync.Report
ffbc.008d ---> Sync.Report
ffbc.008e ---> Sync.Report
ffbc.008f ---> Sync.Report
ffbc.0090 ---> Sync.Report
ffbc.0091 ---> Sync.Report
ffbc.0092 ---> Sync.Report
ffbc.0093 ---> Sync.Report
ffbc.0094 ---> Sync.Report
ffbc.0095 ---> Sync.Report
ffbc.0096 ---> Sync.Report
ffbc.0097 ---> Sync.Report
ffbc.0098 ---> Sync.Report
ffbc.0099 ---> Sync.Report
ffbc.009a ---> Sync.Report
ffbc.009b ---> Sync.Report
ffbc.009c ---> Sync.Report
ffbc.009d ---> Sync.Report
ffbc.009e ---> Sync.Report
ffbc.009f ---> Sync.Report
ffbc.00a0 ---> Sync.Report
ffbc.00a1 ---> Sync.Report
ffbc.00a2 ---> Sync.Report
ffbc.00a3 ---> Sync.Report
ffbc.00a4 ---> Sync.Report
ffbc.00a5 ---> Sync.Report
ffbc.00a6 ---> Sync.Report
ffbc.00a7 ---> Sync.Report
ffbc.00a8 ---> Sync.Report
ffbc.00a9 ---> Sync.Report
ffbc.00aa ---> Sync.Report
ffbc.00ab ---> Sync.Report
ffbc.00ac ---> Sync.Report
ffbc.00ad ---> Sync.Report
ffbc.00ae ---> Sync.Report
ffbc.00af ---> Sync.Report
ffbc.00b0 ---> Sync.Report
ffbc.00b1 ---> Sync.Report
ffbc.00b2 ---> Sync.Report
ffbc.00b3 ---> Sync.Report
ffbc.00b4 ---> Sync.Report
ffbc.00b5 ---> Sync.Report
ffbc.00b6 ---> Sync.Report
ffbc.00b7 ---> Sync.Report
ffbc.00b8 ---> Sync.Report
ffbc.00b9 ---> Sync.Report
ffbc.00ba ---> Sync.Report
ffbc.00bb ---> Sync.Report
ffbc.00bc ---> Sync.Report
ffbc.00bd ---> Sync.Report
ffbc.00be ---> Sync.Report
ffbc.00bf ---> Sync.Report
ffbc.00c0 ---> Sync.Report
ffbc.00c1 ---> Sync.Report
ffbc.00c2 ---> Sync.Report
ffbc.00c3 ---> Sync.Report
ffbc.00c4 ---> Sync.Report
ffbc.00c5 ---> Sync.Report
ffbc.00c6 ---> Sync.Report
ffbc.00c7 ---> Sync.Report
ffbc.00c8 ---> Sync.Report
ffbc.00c9 ---> Sync.Report
ffbc.00ca ---> Sync.Report
ffbc.00cb ---> Sync.Report
ffbc.00cc ---> Sync.Report
ffbc.00cd ---> Sync.Report
ffbc.00ce ---> Sync.Report
ffbc.00cf ---> Sync.Report
ffbc.00d0 ---> Sync.Report
ffbc.00d1 ---> Sync.Report
ffbc.00d2 ---> Sync.Report
ffbc.00d3 ---> Sync.Report
ffbc.00d4 ---> Sync.Report
ffbc.00d5 ---> Sync.Report
ffbc.00d6 ---> Sync.Report
ffbc.00d7 ---> Sync.Report
ffbc.00d8 ---> Sync.Report
ffbc.00d9 ---> Sync.Report
ffbc.00da ---> Sync.Report
ffbc.00db ---> Sync.Report
ffbc.00dc ---> Sync.Report
ffbc.00dd ---> Sync.Report
ffbc.00de ---> Sync.Report
ffbc.00df ---> Sync.Report
ffbc.00e0 ---> Sync.Report
ffbc.00e1 ---> Sync.Report
ffbc.00e2 ---> Sync.Report
ffbc.00e3 ---> Sync.Report
ffbc.00e4 ---> Sync.Report
ffbc.00e5 ---> Sync.Report
ffbc.00e6 ---> Sync.Report
ffbc.00e7 ---> Sync.Report
ffbc.00e8 ---> Sync.Report
ffbc.00e9 ---> Sync.Report
ffbc.00ea ---> Sync.Report
ffbc.00eb ---> Sync.Report
ffbc.00ec ---> Sync.Report
ffbc.00ed ---> Sync.Report
ffbc.00ee ---> Sync.Report
ffbc.00ef ---> Sync.Report
ffbc.00f0 ---> Sync.Report
ffbc.00f1 ---> Sync.Report
ffbc.00f2 ---> Sync.Report
ffbc.00f3 ---> Sync.Report
ffbc.00f4 ---> Sync.Report
ffbc.00f5 ---> Sync.Report
ffbc.00f6 ---> Sync.Report
ffbc.00f7 ---> Sync.Report
ffbc.00f8 ---> Sync.Report
ffbc.00f9 ---> Sync.Report
ffbc.00fa ---> Sync.Report
ffbc.00fb ---> Sync.Report
ffbc.00fc ---> Sync.Report
ffbc.00fd ---> Sync.Report
ffbc.00fe ---> Sync.Report
ffbc.00ff ---> Sync.Report
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH] HID: driver for BTC "Emprex 3009URF III Vista MCE Remote" quirky remote
2010-03-17 19:18 ` Wayne Thomas
@ 2010-03-18 10:51 ` Jiri Kosina
2010-03-18 11:00 ` Jiri Kosina
0 siblings, 1 reply; 16+ messages in thread
From: Jiri Kosina @ 2010-03-18 10:51 UTC (permalink / raw)
To: Wayne Thomas; +Cc: Ben Hardill, linux-input
On Wed, 17 Mar 2010, Wayne Thomas wrote:
> I have compiled kernel 2.6.33.1 with hid_debug set to 2.
> Below is the output of the appropriate device (the remote presents
> itself as two separate event devices) when pressing some of the
> buttons in question.
>
> I have attached the output of
> /sys/kernel/debug/hid/0003:046E:5578.0004/rdesc as a text file since
> it is so long, but here is the output of
> /sys/kernel/debug/hid/0003:046E:5578.0004/events (one report for each
> button pressed).
>
> report (size 7) (numbered)
>
>
>
> report (size 7) (numbered)
>
>
>
> report (size 7) (numbered)
>
>
>
Hmm, this is very odd output. Do you by any chance have messages such as
undefined report_id <NUMBER> received
appearing in your 'dmesg' output when you are pressing the keys?
--
Jiri Kosina
SUSE Labs, Novell Inc.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH] HID: driver for BTC "Emprex 3009URF III Vista MCE Remote" quirky remote
2010-03-18 10:51 ` Jiri Kosina
@ 2010-03-18 11:00 ` Jiri Kosina
2010-03-18 20:03 ` Wayne Thomas
0 siblings, 1 reply; 16+ messages in thread
From: Jiri Kosina @ 2010-03-18 11:00 UTC (permalink / raw)
To: Wayne Thomas; +Cc: Ben Hardill, linux-input
On Thu, 18 Mar 2010, Jiri Kosina wrote:
> > I have compiled kernel 2.6.33.1 with hid_debug set to 2.
> > Below is the output of the appropriate device (the remote presents
> > itself as two separate event devices) when pressing some of the
> > buttons in question.
> >
> > I have attached the output of
> > /sys/kernel/debug/hid/0003:046E:5578.0004/rdesc as a text file since
> > it is so long, but here is the output of
> > /sys/kernel/debug/hid/0003:046E:5578.0004/events (one report for each
> > button pressed).
> >
> > report (size 7) (numbered)
> >
> >
> >
> > report (size 7) (numbered)
> >
> >
> >
> > report (size 7) (numbered)
> >
> >
> >
>
> Hmm, this is very odd output. Do you by any chance have messages such as
>
> undefined report_id <NUMBER> received
>
> appearing in your 'dmesg' output when you are pressing the keys?
Does applying the patch below give reasonable output in 'events' debugfs
file please?
diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
index 368fbb0..c49aaa2 100644
--- a/drivers/hid/hid-core.c
+++ b/drivers/hid/hid-core.c
@@ -1096,20 +1096,11 @@ int hid_input_report(struct hid_device *hid, int type, u8 *data, int size, int i
goto nomem;
}
- snprintf(buf, HID_DEBUG_BUFSIZE - 1,
- "\nreport (size %u) (%snumbered)\n", size, report_enum->numbered ? "" : "un");
- hid_debug_event(hid, buf);
-
- report = hid_get_report(report_enum, data);
- if (!report) {
- kfree(buf);
- return -1;
- }
-
/* dump the report */
snprintf(buf, HID_DEBUG_BUFSIZE - 1,
- "report %d (size %u) = ", report->id, size);
+ "\nreport (size %u) (%snumbered) = ", size, report_enum->numbered ? "" : "un");
hid_debug_event(hid, buf);
+
for (i = 0; i < size; i++) {
snprintf(buf, HID_DEBUG_BUFSIZE - 1,
" %02x", data[i]);
@@ -1117,6 +1108,13 @@ int hid_input_report(struct hid_device *hid, int type, u8 *data, int size, int i
}
hid_debug_event(hid, "\n");
+ report = hid_get_report(report_enum, data);
+
+ if (!report) {
+ kfree(buf);
+ return -1;
+ }
+
kfree(buf);
nomem:
^ permalink raw reply related [flat|nested] 16+ messages in thread
* Re: [PATCH] HID: driver for BTC "Emprex 3009URF III Vista MCE Remote" quirky remote
2010-03-18 11:00 ` Jiri Kosina
@ 2010-03-18 20:03 ` Wayne Thomas
2010-04-20 18:29 ` Wayne Thomas
0 siblings, 1 reply; 16+ messages in thread
From: Wayne Thomas @ 2010-03-18 20:03 UTC (permalink / raw)
To: Jiri Kosina; +Cc: Ben Hardill, linux-input
[-- Attachment #1: Type: text/plain, Size: 4467 bytes --]
On Thu, Mar 18, 2010 at 12:00 PM, Jiri Kosina <jkosina@suse.cz> wrote:
> On Thu, 18 Mar 2010, Jiri Kosina wrote:
>
>> > I have compiled kernel 2.6.33.1 with hid_debug set to 2.
>> > Below is the output of the appropriate device (the remote presents
>> > itself as two separate event devices) when pressing some of the
>> > buttons in question.
>> >
>> > I have attached the output of
>> > /sys/kernel/debug/hid/0003:046E:5578.0004/rdesc as a text file since
>> > it is so long, but here is the output of
>> > /sys/kernel/debug/hid/0003:046E:5578.0004/events (one report for each
>> > button pressed).
>> >
>> > report (size 7) (numbered)
>> >
>> >
>> >
>> > report (size 7) (numbered)
>> >
>> >
>> >
>> > report (size 7) (numbered)
>> >
>> >
>> >
>>
>> Hmm, this is very odd output. Do you by any chance have messages such as
>>
>> undefined report_id <NUMBER> received
>>
>> appearing in your 'dmesg' output when you are pressing the keys?
>
> Does applying the patch below give reasonable output in 'events' debugfs
> file please?
>
>
>
> diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
> index 368fbb0..c49aaa2 100644
> --- a/drivers/hid/hid-core.c
> +++ b/drivers/hid/hid-core.c
> @@ -1096,20 +1096,11 @@ int hid_input_report(struct hid_device *hid, int type, u8 *data, int size, int i
> goto nomem;
> }
>
> - snprintf(buf, HID_DEBUG_BUFSIZE - 1,
> - "\nreport (size %u) (%snumbered)\n", size, report_enum->numbered ? "" : "un");
> - hid_debug_event(hid, buf);
> -
> - report = hid_get_report(report_enum, data);
> - if (!report) {
> - kfree(buf);
> - return -1;
> - }
> -
> /* dump the report */
> snprintf(buf, HID_DEBUG_BUFSIZE - 1,
> - "report %d (size %u) = ", report->id, size);
> + "\nreport (size %u) (%snumbered) = ", size, report_enum->numbered ? "" : "un");
> hid_debug_event(hid, buf);
> +
> for (i = 0; i < size; i++) {
> snprintf(buf, HID_DEBUG_BUFSIZE - 1,
> " %02x", data[i]);
> @@ -1117,6 +1108,13 @@ int hid_input_report(struct hid_device *hid, int type, u8 *data, int size, int i
> }
> hid_debug_event(hid, "\n");
>
> + report = hid_get_report(report_enum, data);
> +
> + if (!report) {
> + kfree(buf);
> + return -1;
> + }
> +
> kfree(buf);
>
> nomem:
>
Jiri,
nothing at all appears in dmesg in relation to the button presses.
I manually applied the patch and have retested. The only difference I
noticed was the presence of an equals sign in events:
report (size 7) (numbered) =
rdesc appears identical, but I have attached it just in case.
Also, in the off-chance that it is any use, here is the output of
dmesg when I plug the receiver in (there is no output when any buttons
are pressed).
[ 572.392097] usb 3-1: new low speed USB device using uhci_hcd and address 4
[ 572.577199] drivers/hid/usbhid/hid-core.c: HID probe called for ifnum 0
[ 572.590688] input: BTC USB MCE Cordless Remote Control. as
/devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/input/input12
[ 572.590843] generic-usb 0003:046E:5578.0005: input,hidraw0: USB HID
v1.11 Keyboard [BTC USB MCE Cordless Remote Control.] on
usb-0000:00:1d.1-1/input0
[ 572.590969] drivers/hid/usbhid/hid-core.c: HID probe called for ifnum 1
[ 572.611848] drivers/hid/usbhid/hid-core.c: submitting ctrl urb:
Get_Report wValue=0x0101 wIndex=0x0001 wLength=2
[ 572.614082] drivers/hid/usbhid/hid-core.c: submitting ctrl urb:
Get_Report wValue=0x0102 wIndex=0x0001 wLength=7
[ 572.617082] drivers/hid/usbhid/hid-core.c: submitting ctrl urb:
Get_Report wValue=0x0103 wIndex=0x0001 wLength=7
[ 572.621086] drivers/hid/hid-core.c: undefined report_id 0 received
[ 572.621095] drivers/hid/usbhid/hid-core.c: submitting ctrl urb:
Get_Report wValue=0x0303 wIndex=0x0001 wLength=8
[ 572.625084] drivers/hid/hid-core.c: undefined report_id 0 received
[ 572.625366] input: BTC USB MCE Cordless Remote Control. as
/devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.1/input/input13
[ 572.625576] generic-usb 0003:046E:5578.0006:
input,hiddev96,hidraw1: USB HID v1.11 Device [BTC USB MCE Cordless
Remote Control.] on usb-0000:00:1d.1-1/input1
Cheers
Wayne
[-- Attachment #2: rdesc.txt --]
[-- Type: text/plain, Size: 57973 bytes --]
05 01 09 80 a1 01 85 01 19 81 29 83 15 00 25 01 75 01 95 03 81 02 95 05 81 01 c0 05 0c 09 01 a1 01 85 02 19 00 2a ff 02 15 00 26 ff 02 75 10 95 03 81 00 c0 06 bc ff 09 88 a1 01 85 03 19 00 2a ff 00 15 00 26 ff 00 75 10 95 03 81 00 06 bc ff 19 00 2a ff 00 15 00 26 ff 00 75 08 95 07 b1 04 c0
INPUT(1)[INPUT]
Field(0)
Usage(3)
GenericDesktop.SystemPowerDown
GenericDesktop.SystemSleep
GenericDesktop.SystemWakeUp
Logical Minimum(0)
Logical Maximum(1)
Report Size(1)
Report Count(3)
Report Offset(0)
Flags( Variable Absolute )
INPUT(2)[INPUT]
Field(0)
Usage(768)
Consumer.0000
Consumer.0001
Consumer.0002
Consumer.0003
Consumer.0004
Consumer.0005
Consumer.0006
Consumer.0007
Consumer.0008
Consumer.0009
Consumer.000a
Consumer.000b
Consumer.000c
Consumer.000d
Consumer.000e
Consumer.000f
Consumer.0010
Consumer.0011
Consumer.0012
Consumer.0013
Consumer.0014
Consumer.0015
Consumer.0016
Consumer.0017
Consumer.0018
Consumer.0019
Consumer.001a
Consumer.001b
Consumer.001c
Consumer.001d
Consumer.001e
Consumer.001f
Consumer.0020
Consumer.0021
Consumer.0022
Consumer.0023
Consumer.0024
Consumer.0025
Consumer.0026
Consumer.0027
Consumer.0028
Consumer.0029
Consumer.002a
Consumer.002b
Consumer.002c
Consumer.002d
Consumer.002e
Consumer.002f
Consumer.0030
Consumer.0031
Consumer.0032
Consumer.0033
Consumer.0034
Consumer.0035
Consumer.0036
Consumer.0037
Consumer.0038
Consumer.0039
Consumer.003a
Consumer.003b
Consumer.003c
Consumer.003d
Consumer.003e
Consumer.003f
Consumer.0040
Consumer.0041
Consumer.0042
Consumer.0043
Consumer.0044
Consumer.0045
Consumer.0046
Consumer.0047
Consumer.0048
Consumer.0049
Consumer.004a
Consumer.004b
Consumer.004c
Consumer.004d
Consumer.004e
Consumer.004f
Consumer.0050
Consumer.0051
Consumer.0052
Consumer.0053
Consumer.0054
Consumer.0055
Consumer.0056
Consumer.0057
Consumer.0058
Consumer.0059
Consumer.005a
Consumer.005b
Consumer.005c
Consumer.005d
Consumer.005e
Consumer.005f
Consumer.0060
Consumer.0061
Consumer.0062
Consumer.0063
Consumer.0064
Consumer.0065
Consumer.0066
Consumer.0067
Consumer.0068
Consumer.0069
Consumer.006a
Consumer.006b
Consumer.006c
Consumer.006d
Consumer.006e
Consumer.006f
Consumer.0070
Consumer.0071
Consumer.0072
Consumer.0073
Consumer.0074
Consumer.0075
Consumer.0076
Consumer.0077
Consumer.0078
Consumer.0079
Consumer.007a
Consumer.007b
Consumer.007c
Consumer.007d
Consumer.007e
Consumer.007f
Consumer.0080
Consumer.0081
Consumer.0082
Consumer.0083
Consumer.0084
Consumer.0085
Consumer.0086
Consumer.0087
Consumer.0088
Consumer.0089
Consumer.008a
Consumer.008b
Consumer.008c
Consumer.008d
Consumer.008e
Consumer.008f
Consumer.0090
Consumer.0091
Consumer.0092
Consumer.0093
Consumer.0094
Consumer.0095
Consumer.0096
Consumer.0097
Consumer.0098
Consumer.0099
Consumer.009a
Consumer.009b
Consumer.009c
Consumer.009d
Consumer.009e
Consumer.009f
Consumer.00a0
Consumer.00a1
Consumer.00a2
Consumer.00a3
Consumer.00a4
Consumer.00a5
Consumer.00a6
Consumer.00a7
Consumer.00a8
Consumer.00a9
Consumer.00aa
Consumer.00ab
Consumer.00ac
Consumer.00ad
Consumer.00ae
Consumer.00af
Consumer.00b0
Consumer.00b1
Consumer.00b2
Consumer.00b3
Consumer.00b4
Consumer.00b5
Consumer.00b6
Consumer.00b7
Consumer.00b8
Consumer.00b9
Consumer.00ba
Consumer.00bb
Consumer.00bc
Consumer.00bd
Consumer.00be
Consumer.00bf
Consumer.00c0
Consumer.00c1
Consumer.00c2
Consumer.00c3
Consumer.00c4
Consumer.00c5
Consumer.00c6
Consumer.00c7
Consumer.00c8
Consumer.00c9
Consumer.00ca
Consumer.00cb
Consumer.00cc
Consumer.00cd
Consumer.00ce
Consumer.00cf
Consumer.00d0
Consumer.00d1
Consumer.00d2
Consumer.00d3
Consumer.00d4
Consumer.00d5
Consumer.00d6
Consumer.00d7
Consumer.00d8
Consumer.00d9
Consumer.00da
Consumer.00db
Consumer.00dc
Consumer.00dd
Consumer.00de
Consumer.00df
Consumer.00e0
Consumer.00e1
Consumer.00e2
Consumer.00e3
Consumer.00e4
Consumer.00e5
Consumer.00e6
Consumer.00e7
Consumer.00e8
Consumer.00e9
Consumer.00ea
Consumer.00eb
Consumer.00ec
Consumer.00ed
Consumer.00ee
Consumer.00ef
Consumer.00f0
Consumer.00f1
Consumer.00f2
Consumer.00f3
Consumer.00f4
Consumer.00f5
Consumer.00f6
Consumer.00f7
Consumer.00f8
Consumer.00f9
Consumer.00fa
Consumer.00fb
Consumer.00fc
Consumer.00fd
Consumer.00fe
Consumer.00ff
Consumer.0100
Consumer.0101
Consumer.0102
Consumer.0103
Consumer.0104
Consumer.0105
Consumer.0106
Consumer.0107
Consumer.0108
Consumer.0109
Consumer.010a
Consumer.010b
Consumer.010c
Consumer.010d
Consumer.010e
Consumer.010f
Consumer.0110
Consumer.0111
Consumer.0112
Consumer.0113
Consumer.0114
Consumer.0115
Consumer.0116
Consumer.0117
Consumer.0118
Consumer.0119
Consumer.011a
Consumer.011b
Consumer.011c
Consumer.011d
Consumer.011e
Consumer.011f
Consumer.0120
Consumer.0121
Consumer.0122
Consumer.0123
Consumer.0124
Consumer.0125
Consumer.0126
Consumer.0127
Consumer.0128
Consumer.0129
Consumer.012a
Consumer.012b
Consumer.012c
Consumer.012d
Consumer.012e
Consumer.012f
Consumer.0130
Consumer.0131
Consumer.0132
Consumer.0133
Consumer.0134
Consumer.0135
Consumer.0136
Consumer.0137
Consumer.0138
Consumer.0139
Consumer.013a
Consumer.013b
Consumer.013c
Consumer.013d
Consumer.013e
Consumer.013f
Consumer.0140
Consumer.0141
Consumer.0142
Consumer.0143
Consumer.0144
Consumer.0145
Consumer.0146
Consumer.0147
Consumer.0148
Consumer.0149
Consumer.014a
Consumer.014b
Consumer.014c
Consumer.014d
Consumer.014e
Consumer.014f
Consumer.0150
Consumer.0151
Consumer.0152
Consumer.0153
Consumer.0154
Consumer.0155
Consumer.0156
Consumer.0157
Consumer.0158
Consumer.0159
Consumer.015a
Consumer.015b
Consumer.015c
Consumer.015d
Consumer.015e
Consumer.015f
Consumer.0160
Consumer.0161
Consumer.0162
Consumer.0163
Consumer.0164
Consumer.0165
Consumer.0166
Consumer.0167
Consumer.0168
Consumer.0169
Consumer.016a
Consumer.016b
Consumer.016c
Consumer.016d
Consumer.016e
Consumer.016f
Consumer.0170
Consumer.0171
Consumer.0172
Consumer.0173
Consumer.0174
Consumer.0175
Consumer.0176
Consumer.0177
Consumer.0178
Consumer.0179
Consumer.017a
Consumer.017b
Consumer.017c
Consumer.017d
Consumer.017e
Consumer.017f
Consumer.0180
Consumer.0181
Consumer.0182
Consumer.0183
Consumer.0184
Consumer.0185
Consumer.0186
Consumer.0187
Consumer.0188
Consumer.0189
Consumer.018a
Consumer.018b
Consumer.018c
Consumer.018d
Consumer.018e
Consumer.018f
Consumer.0190
Consumer.0191
Consumer.0192
Consumer.0193
Consumer.0194
Consumer.0195
Consumer.0196
Consumer.0197
Consumer.0198
Consumer.0199
Consumer.019a
Consumer.019b
Consumer.019c
Consumer.019d
Consumer.019e
Consumer.019f
Consumer.01a0
Consumer.01a1
Consumer.01a2
Consumer.01a3
Consumer.01a4
Consumer.01a5
Consumer.01a6
Consumer.01a7
Consumer.01a8
Consumer.01a9
Consumer.01aa
Consumer.01ab
Consumer.01ac
Consumer.01ad
Consumer.01ae
Consumer.01af
Consumer.01b0
Consumer.01b1
Consumer.01b2
Consumer.01b3
Consumer.01b4
Consumer.01b5
Consumer.01b6
Consumer.01b7
Consumer.01b8
Consumer.01b9
Consumer.01ba
Consumer.01bb
Consumer.01bc
Consumer.01bd
Consumer.01be
Consumer.01bf
Consumer.01c0
Consumer.01c1
Consumer.01c2
Consumer.01c3
Consumer.01c4
Consumer.01c5
Consumer.01c6
Consumer.01c7
Consumer.01c8
Consumer.01c9
Consumer.01ca
Consumer.01cb
Consumer.01cc
Consumer.01cd
Consumer.01ce
Consumer.01cf
Consumer.01d0
Consumer.01d1
Consumer.01d2
Consumer.01d3
Consumer.01d4
Consumer.01d5
Consumer.01d6
Consumer.01d7
Consumer.01d8
Consumer.01d9
Consumer.01da
Consumer.01db
Consumer.01dc
Consumer.01dd
Consumer.01de
Consumer.01df
Consumer.01e0
Consumer.01e1
Consumer.01e2
Consumer.01e3
Consumer.01e4
Consumer.01e5
Consumer.01e6
Consumer.01e7
Consumer.01e8
Consumer.01e9
Consumer.01ea
Consumer.01eb
Consumer.01ec
Consumer.01ed
Consumer.01ee
Consumer.01ef
Consumer.01f0
Consumer.01f1
Consumer.01f2
Consumer.01f3
Consumer.01f4
Consumer.01f5
Consumer.01f6
Consumer.01f7
Consumer.01f8
Consumer.01f9
Consumer.01fa
Consumer.01fb
Consumer.01fc
Consumer.01fd
Consumer.01fe
Consumer.01ff
Consumer.0200
Consumer.0201
Consumer.0202
Consumer.0203
Consumer.0204
Consumer.0205
Consumer.0206
Consumer.0207
Consumer.0208
Consumer.0209
Consumer.020a
Consumer.020b
Consumer.020c
Consumer.020d
Consumer.020e
Consumer.020f
Consumer.0210
Consumer.0211
Consumer.0212
Consumer.0213
Consumer.0214
Consumer.0215
Consumer.0216
Consumer.0217
Consumer.0218
Consumer.0219
Consumer.021a
Consumer.021b
Consumer.021c
Consumer.021d
Consumer.021e
Consumer.021f
Consumer.0220
Consumer.0221
Consumer.0222
Consumer.0223
Consumer.0224
Consumer.0225
Consumer.0226
Consumer.0227
Consumer.0228
Consumer.0229
Consumer.022a
Consumer.022b
Consumer.022c
Consumer.022d
Consumer.022e
Consumer.022f
Consumer.0230
Consumer.0231
Consumer.0232
Consumer.0233
Consumer.0234
Consumer.0235
Consumer.0236
Consumer.0237
Consumer.HorizontalWheel
Consumer.0239
Consumer.023a
Consumer.023b
Consumer.023c
Consumer.023d
Consumer.023e
Consumer.023f
Consumer.0240
Consumer.0241
Consumer.0242
Consumer.0243
Consumer.0244
Consumer.0245
Consumer.0246
Consumer.0247
Consumer.0248
Consumer.0249
Consumer.024a
Consumer.024b
Consumer.024c
Consumer.024d
Consumer.024e
Consumer.024f
Consumer.0250
Consumer.0251
Consumer.0252
Consumer.0253
Consumer.0254
Consumer.0255
Consumer.0256
Consumer.0257
Consumer.0258
Consumer.0259
Consumer.025a
Consumer.025b
Consumer.025c
Consumer.025d
Consumer.025e
Consumer.025f
Consumer.0260
Consumer.0261
Consumer.0262
Consumer.0263
Consumer.0264
Consumer.0265
Consumer.0266
Consumer.0267
Consumer.0268
Consumer.0269
Consumer.026a
Consumer.026b
Consumer.026c
Consumer.026d
Consumer.026e
Consumer.026f
Consumer.0270
Consumer.0271
Consumer.0272
Consumer.0273
Consumer.0274
Consumer.0275
Consumer.0276
Consumer.0277
Consumer.0278
Consumer.0279
Consumer.027a
Consumer.027b
Consumer.027c
Consumer.027d
Consumer.027e
Consumer.027f
Consumer.0280
Consumer.0281
Consumer.0282
Consumer.0283
Consumer.0284
Consumer.0285
Consumer.0286
Consumer.0287
Consumer.0288
Consumer.0289
Consumer.028a
Consumer.028b
Consumer.028c
Consumer.028d
Consumer.028e
Consumer.028f
Consumer.0290
Consumer.0291
Consumer.0292
Consumer.0293
Consumer.0294
Consumer.0295
Consumer.0296
Consumer.0297
Consumer.0298
Consumer.0299
Consumer.029a
Consumer.029b
Consumer.029c
Consumer.029d
Consumer.029e
Consumer.029f
Consumer.02a0
Consumer.02a1
Consumer.02a2
Consumer.02a3
Consumer.02a4
Consumer.02a5
Consumer.02a6
Consumer.02a7
Consumer.02a8
Consumer.02a9
Consumer.02aa
Consumer.02ab
Consumer.02ac
Consumer.02ad
Consumer.02ae
Consumer.02af
Consumer.02b0
Consumer.02b1
Consumer.02b2
Consumer.02b3
Consumer.02b4
Consumer.02b5
Consumer.02b6
Consumer.02b7
Consumer.02b8
Consumer.02b9
Consumer.02ba
Consumer.02bb
Consumer.02bc
Consumer.02bd
Consumer.02be
Consumer.02bf
Consumer.02c0
Consumer.02c1
Consumer.02c2
Consumer.02c3
Consumer.02c4
Consumer.02c5
Consumer.02c6
Consumer.02c7
Consumer.02c8
Consumer.02c9
Consumer.02ca
Consumer.02cb
Consumer.02cc
Consumer.02cd
Consumer.02ce
Consumer.02cf
Consumer.02d0
Consumer.02d1
Consumer.02d2
Consumer.02d3
Consumer.02d4
Consumer.02d5
Consumer.02d6
Consumer.02d7
Consumer.02d8
Consumer.02d9
Consumer.02da
Consumer.02db
Consumer.02dc
Consumer.02dd
Consumer.02de
Consumer.02df
Consumer.02e0
Consumer.02e1
Consumer.02e2
Consumer.02e3
Consumer.02e4
Consumer.02e5
Consumer.02e6
Consumer.02e7
Consumer.02e8
Consumer.02e9
Consumer.02ea
Consumer.02eb
Consumer.02ec
Consumer.02ed
Consumer.02ee
Consumer.02ef
Consumer.02f0
Consumer.02f1
Consumer.02f2
Consumer.02f3
Consumer.02f4
Consumer.02f5
Consumer.02f6
Consumer.02f7
Consumer.02f8
Consumer.02f9
Consumer.02fa
Consumer.02fb
Consumer.02fc
Consumer.02fd
Consumer.02fe
Consumer.02ff
Logical Minimum(0)
Logical Maximum(767)
Report Size(16)
Report Count(3)
Report Offset(0)
Flags( Array Absolute )
INPUT(3)[INPUT]
Field(0)
Usage(256)
ffbc.0000
ffbc.0001
ffbc.0002
ffbc.0003
ffbc.0004
ffbc.0005
ffbc.0006
ffbc.0007
ffbc.0008
ffbc.0009
ffbc.000a
ffbc.000b
ffbc.000c
ffbc.000d
ffbc.000e
ffbc.000f
ffbc.0010
ffbc.0011
ffbc.0012
ffbc.0013
ffbc.0014
ffbc.0015
ffbc.0016
ffbc.0017
ffbc.0018
ffbc.0019
ffbc.001a
ffbc.001b
ffbc.001c
ffbc.001d
ffbc.001e
ffbc.001f
ffbc.0020
ffbc.0021
ffbc.0022
ffbc.0023
ffbc.0024
ffbc.0025
ffbc.0026
ffbc.0027
ffbc.0028
ffbc.0029
ffbc.002a
ffbc.002b
ffbc.002c
ffbc.002d
ffbc.002e
ffbc.002f
ffbc.0030
ffbc.0031
ffbc.0032
ffbc.0033
ffbc.0034
ffbc.0035
ffbc.0036
ffbc.0037
ffbc.0038
ffbc.0039
ffbc.003a
ffbc.003b
ffbc.003c
ffbc.003d
ffbc.003e
ffbc.003f
ffbc.0040
ffbc.0041
ffbc.0042
ffbc.0043
ffbc.0044
ffbc.0045
ffbc.0046
ffbc.0047
ffbc.0048
ffbc.0049
ffbc.004a
ffbc.004b
ffbc.004c
ffbc.004d
ffbc.004e
ffbc.004f
ffbc.0050
ffbc.0051
ffbc.0052
ffbc.0053
ffbc.0054
ffbc.0055
ffbc.0056
ffbc.0057
ffbc.0058
ffbc.0059
ffbc.005a
ffbc.005b
ffbc.005c
ffbc.005d
ffbc.005e
ffbc.005f
ffbc.0060
ffbc.0061
ffbc.0062
ffbc.0063
ffbc.0064
ffbc.0065
ffbc.0066
ffbc.0067
ffbc.0068
ffbc.0069
ffbc.006a
ffbc.006b
ffbc.006c
ffbc.006d
ffbc.006e
ffbc.006f
ffbc.0070
ffbc.0071
ffbc.0072
ffbc.0073
ffbc.0074
ffbc.0075
ffbc.0076
ffbc.0077
ffbc.0078
ffbc.0079
ffbc.007a
ffbc.007b
ffbc.007c
ffbc.007d
ffbc.007e
ffbc.007f
ffbc.0080
ffbc.0081
ffbc.0082
ffbc.0083
ffbc.0084
ffbc.0085
ffbc.0086
ffbc.0087
ffbc.0088
ffbc.0089
ffbc.008a
ffbc.008b
ffbc.008c
ffbc.008d
ffbc.008e
ffbc.008f
ffbc.0090
ffbc.0091
ffbc.0092
ffbc.0093
ffbc.0094
ffbc.0095
ffbc.0096
ffbc.0097
ffbc.0098
ffbc.0099
ffbc.009a
ffbc.009b
ffbc.009c
ffbc.009d
ffbc.009e
ffbc.009f
ffbc.00a0
ffbc.00a1
ffbc.00a2
ffbc.00a3
ffbc.00a4
ffbc.00a5
ffbc.00a6
ffbc.00a7
ffbc.00a8
ffbc.00a9
ffbc.00aa
ffbc.00ab
ffbc.00ac
ffbc.00ad
ffbc.00ae
ffbc.00af
ffbc.00b0
ffbc.00b1
ffbc.00b2
ffbc.00b3
ffbc.00b4
ffbc.00b5
ffbc.00b6
ffbc.00b7
ffbc.00b8
ffbc.00b9
ffbc.00ba
ffbc.00bb
ffbc.00bc
ffbc.00bd
ffbc.00be
ffbc.00bf
ffbc.00c0
ffbc.00c1
ffbc.00c2
ffbc.00c3
ffbc.00c4
ffbc.00c5
ffbc.00c6
ffbc.00c7
ffbc.00c8
ffbc.00c9
ffbc.00ca
ffbc.00cb
ffbc.00cc
ffbc.00cd
ffbc.00ce
ffbc.00cf
ffbc.00d0
ffbc.00d1
ffbc.00d2
ffbc.00d3
ffbc.00d4
ffbc.00d5
ffbc.00d6
ffbc.00d7
ffbc.00d8
ffbc.00d9
ffbc.00da
ffbc.00db
ffbc.00dc
ffbc.00dd
ffbc.00de
ffbc.00df
ffbc.00e0
ffbc.00e1
ffbc.00e2
ffbc.00e3
ffbc.00e4
ffbc.00e5
ffbc.00e6
ffbc.00e7
ffbc.00e8
ffbc.00e9
ffbc.00ea
ffbc.00eb
ffbc.00ec
ffbc.00ed
ffbc.00ee
ffbc.00ef
ffbc.00f0
ffbc.00f1
ffbc.00f2
ffbc.00f3
ffbc.00f4
ffbc.00f5
ffbc.00f6
ffbc.00f7
ffbc.00f8
ffbc.00f9
ffbc.00fa
ffbc.00fb
ffbc.00fc
ffbc.00fd
ffbc.00fe
ffbc.00ff
Logical Minimum(0)
Logical Maximum(255)
Report Size(16)
Report Count(3)
Report Offset(0)
Flags( Array Absolute )
FEATURE(3)[FEATURE]
Field(0)
Usage(256)
ffbc.0000
ffbc.0001
ffbc.0002
ffbc.0003
ffbc.0004
ffbc.0005
ffbc.0006
ffbc.0007
ffbc.0008
ffbc.0009
ffbc.000a
ffbc.000b
ffbc.000c
ffbc.000d
ffbc.000e
ffbc.000f
ffbc.0010
ffbc.0011
ffbc.0012
ffbc.0013
ffbc.0014
ffbc.0015
ffbc.0016
ffbc.0017
ffbc.0018
ffbc.0019
ffbc.001a
ffbc.001b
ffbc.001c
ffbc.001d
ffbc.001e
ffbc.001f
ffbc.0020
ffbc.0021
ffbc.0022
ffbc.0023
ffbc.0024
ffbc.0025
ffbc.0026
ffbc.0027
ffbc.0028
ffbc.0029
ffbc.002a
ffbc.002b
ffbc.002c
ffbc.002d
ffbc.002e
ffbc.002f
ffbc.0030
ffbc.0031
ffbc.0032
ffbc.0033
ffbc.0034
ffbc.0035
ffbc.0036
ffbc.0037
ffbc.0038
ffbc.0039
ffbc.003a
ffbc.003b
ffbc.003c
ffbc.003d
ffbc.003e
ffbc.003f
ffbc.0040
ffbc.0041
ffbc.0042
ffbc.0043
ffbc.0044
ffbc.0045
ffbc.0046
ffbc.0047
ffbc.0048
ffbc.0049
ffbc.004a
ffbc.004b
ffbc.004c
ffbc.004d
ffbc.004e
ffbc.004f
ffbc.0050
ffbc.0051
ffbc.0052
ffbc.0053
ffbc.0054
ffbc.0055
ffbc.0056
ffbc.0057
ffbc.0058
ffbc.0059
ffbc.005a
ffbc.005b
ffbc.005c
ffbc.005d
ffbc.005e
ffbc.005f
ffbc.0060
ffbc.0061
ffbc.0062
ffbc.0063
ffbc.0064
ffbc.0065
ffbc.0066
ffbc.0067
ffbc.0068
ffbc.0069
ffbc.006a
ffbc.006b
ffbc.006c
ffbc.006d
ffbc.006e
ffbc.006f
ffbc.0070
ffbc.0071
ffbc.0072
ffbc.0073
ffbc.0074
ffbc.0075
ffbc.0076
ffbc.0077
ffbc.0078
ffbc.0079
ffbc.007a
ffbc.007b
ffbc.007c
ffbc.007d
ffbc.007e
ffbc.007f
ffbc.0080
ffbc.0081
ffbc.0082
ffbc.0083
ffbc.0084
ffbc.0085
ffbc.0086
ffbc.0087
ffbc.0088
ffbc.0089
ffbc.008a
ffbc.008b
ffbc.008c
ffbc.008d
ffbc.008e
ffbc.008f
ffbc.0090
ffbc.0091
ffbc.0092
ffbc.0093
ffbc.0094
ffbc.0095
ffbc.0096
ffbc.0097
ffbc.0098
ffbc.0099
ffbc.009a
ffbc.009b
ffbc.009c
ffbc.009d
ffbc.009e
ffbc.009f
ffbc.00a0
ffbc.00a1
ffbc.00a2
ffbc.00a3
ffbc.00a4
ffbc.00a5
ffbc.00a6
ffbc.00a7
ffbc.00a8
ffbc.00a9
ffbc.00aa
ffbc.00ab
ffbc.00ac
ffbc.00ad
ffbc.00ae
ffbc.00af
ffbc.00b0
ffbc.00b1
ffbc.00b2
ffbc.00b3
ffbc.00b4
ffbc.00b5
ffbc.00b6
ffbc.00b7
ffbc.00b8
ffbc.00b9
ffbc.00ba
ffbc.00bb
ffbc.00bc
ffbc.00bd
ffbc.00be
ffbc.00bf
ffbc.00c0
ffbc.00c1
ffbc.00c2
ffbc.00c3
ffbc.00c4
ffbc.00c5
ffbc.00c6
ffbc.00c7
ffbc.00c8
ffbc.00c9
ffbc.00ca
ffbc.00cb
ffbc.00cc
ffbc.00cd
ffbc.00ce
ffbc.00cf
ffbc.00d0
ffbc.00d1
ffbc.00d2
ffbc.00d3
ffbc.00d4
ffbc.00d5
ffbc.00d6
ffbc.00d7
ffbc.00d8
ffbc.00d9
ffbc.00da
ffbc.00db
ffbc.00dc
ffbc.00dd
ffbc.00de
ffbc.00df
ffbc.00e0
ffbc.00e1
ffbc.00e2
ffbc.00e3
ffbc.00e4
ffbc.00e5
ffbc.00e6
ffbc.00e7
ffbc.00e8
ffbc.00e9
ffbc.00ea
ffbc.00eb
ffbc.00ec
ffbc.00ed
ffbc.00ee
ffbc.00ef
ffbc.00f0
ffbc.00f1
ffbc.00f2
ffbc.00f3
ffbc.00f4
ffbc.00f5
ffbc.00f6
ffbc.00f7
ffbc.00f8
ffbc.00f9
ffbc.00fa
ffbc.00fb
ffbc.00fc
ffbc.00fd
ffbc.00fe
ffbc.00ff
Logical Minimum(0)
Logical Maximum(255)
Report Size(8)
Report Count(7)
Report Offset(0)
Flags( Array Relative )
GenericDesktop.SystemPowerDown ---> Key.Power
GenericDesktop.SystemSleep ---> Key.Sleep
GenericDesktop.SystemWakeUp ---> Key.WakeUp
Consumer.0000 ---> Sync.Report
Consumer.0001 ---> Sync.Report
Consumer.0002 ---> Sync.Report
Consumer.0003 ---> Sync.Report
Consumer.0004 ---> Sync.Report
Consumer.0005 ---> Sync.Report
Consumer.0006 ---> Sync.Report
Consumer.0007 ---> Sync.Report
Consumer.0008 ---> Sync.Report
Consumer.0009 ---> Sync.Report
Consumer.000a ---> Sync.Report
Consumer.000b ---> Sync.Report
Consumer.000c ---> Sync.Report
Consumer.000d ---> Sync.Report
Consumer.000e ---> Sync.Report
Consumer.000f ---> Sync.Report
Consumer.0010 ---> Sync.Report
Consumer.0011 ---> Sync.Report
Consumer.0012 ---> Sync.Report
Consumer.0013 ---> Sync.Report
Consumer.0014 ---> Sync.Report
Consumer.0015 ---> Sync.Report
Consumer.0016 ---> Sync.Report
Consumer.0017 ---> Sync.Report
Consumer.0018 ---> Sync.Report
Consumer.0019 ---> Sync.Report
Consumer.001a ---> Sync.Report
Consumer.001b ---> Sync.Report
Consumer.001c ---> Sync.Report
Consumer.001d ---> Sync.Report
Consumer.001e ---> Sync.Report
Consumer.001f ---> Sync.Report
Consumer.0020 ---> Sync.Report
Consumer.0021 ---> Sync.Report
Consumer.0022 ---> Sync.Report
Consumer.0023 ---> Sync.Report
Consumer.0024 ---> Sync.Report
Consumer.0025 ---> Sync.Report
Consumer.0026 ---> Sync.Report
Consumer.0027 ---> Sync.Report
Consumer.0028 ---> Sync.Report
Consumer.0029 ---> Sync.Report
Consumer.002a ---> Sync.Report
Consumer.002b ---> Sync.Report
Consumer.002c ---> Sync.Report
Consumer.002d ---> Sync.Report
Consumer.002e ---> Sync.Report
Consumer.002f ---> Sync.Report
Consumer.0030 ---> Sync.Report
Consumer.0031 ---> Sync.Report
Consumer.0032 ---> Sync.Report
Consumer.0033 ---> Sync.Report
Consumer.0034 ---> Key.Sleep
Consumer.0035 ---> Sync.Report
Consumer.0036 ---> Key.Btn0
Consumer.0037 ---> Sync.Report
Consumer.0038 ---> Sync.Report
Consumer.0039 ---> Sync.Report
Consumer.003a ---> Sync.Report
Consumer.003b ---> Sync.Report
Consumer.003c ---> Sync.Report
Consumer.003d ---> Sync.Report
Consumer.003e ---> Sync.Report
Consumer.003f ---> Sync.Report
Consumer.0040 ---> Key.Menu
Consumer.0041 ---> Sync.Report
Consumer.0042 ---> Sync.Report
Consumer.0043 ---> Sync.Report
Consumer.0044 ---> Sync.Report
Consumer.0045 ---> Key.Radio
Consumer.0046 ---> Sync.Report
Consumer.0047 ---> Sync.Report
Consumer.0048 ---> Sync.Report
Consumer.0049 ---> Sync.Report
Consumer.004a ---> Sync.Report
Consumer.004b ---> Sync.Report
Consumer.004c ---> Sync.Report
Consumer.004d ---> Sync.Report
Consumer.004e ---> Sync.Report
Consumer.004f ---> Sync.Report
Consumer.0050 ---> Sync.Report
Consumer.0051 ---> Sync.Report
Consumer.0052 ---> Sync.Report
Consumer.0053 ---> Sync.Report
Consumer.0054 ---> Sync.Report
Consumer.0055 ---> Sync.Report
Consumer.0056 ---> Sync.Report
Consumer.0057 ---> Sync.Report
Consumer.0058 ---> Sync.Report
Consumer.0059 ---> Sync.Report
Consumer.005a ---> Sync.Report
Consumer.005b ---> Sync.Report
Consumer.005c ---> Sync.Report
Consumer.005d ---> Sync.Report
Consumer.005e ---> Sync.Report
Consumer.005f ---> Sync.Report
Consumer.0060 ---> Sync.Report
Consumer.0061 ---> Sync.Report
Consumer.0062 ---> Sync.Report
Consumer.0063 ---> Sync.Report
Consumer.0064 ---> Sync.Report
Consumer.0065 ---> Sync.Report
Consumer.0066 ---> Sync.Report
Consumer.0067 ---> Sync.Report
Consumer.0068 ---> Sync.Report
Consumer.0069 ---> Sync.Report
Consumer.006a ---> Sync.Report
Consumer.006b ---> Sync.Report
Consumer.006c ---> Sync.Report
Consumer.006d ---> Sync.Report
Consumer.006e ---> Sync.Report
Consumer.006f ---> Sync.Report
Consumer.0070 ---> Sync.Report
Consumer.0071 ---> Sync.Report
Consumer.0072 ---> Sync.Report
Consumer.0073 ---> Sync.Report
Consumer.0074 ---> Sync.Report
Consumer.0075 ---> Sync.Report
Consumer.0076 ---> Sync.Report
Consumer.0077 ---> Sync.Report
Consumer.0078 ---> Sync.Report
Consumer.0079 ---> Sync.Report
Consumer.007a ---> Sync.Report
Consumer.007b ---> Sync.Report
Consumer.007c ---> Sync.Report
Consumer.007d ---> Sync.Report
Consumer.007e ---> Sync.Report
Consumer.007f ---> Sync.Report
Consumer.0080 ---> Sync.Report
Consumer.0081 ---> Sync.Report
Consumer.0082 ---> Sync.Report
Consumer.0083 ---> Key.Last
Consumer.0084 ---> Sync.Report
Consumer.0085 ---> Sync.Report
Consumer.0086 ---> Sync.Report
Consumer.0087 ---> Sync.Report
Consumer.0088 ---> Key.PC
Consumer.0089 ---> Key.TV
Consumer.008a ---> Key.WWW
Consumer.008b ---> Key.DVD
Consumer.008c ---> Key.Phone
Consumer.008d ---> Key.Program
Consumer.008e ---> Key.?
Consumer.008f ---> Key.?
Consumer.0090 ---> Key.Memo
Consumer.0091 ---> Key.CD
Consumer.0092 ---> Key.VCR
Consumer.0093 ---> Key.Tuner
Consumer.0094 ---> Key.Exit
Consumer.0095 ---> Key.Help
Consumer.0096 ---> Key.Tape
Consumer.0097 ---> Key.TV2
Consumer.0098 ---> Key.Sat
Consumer.0099 ---> Sync.Report
Consumer.009a ---> Key.PVR
Consumer.009b ---> Sync.Report
Consumer.009c ---> Key.ChannelUp
Consumer.009d ---> Key.ChannelDown
Consumer.009e ---> Sync.Report
Consumer.009f ---> Sync.Report
Consumer.00a0 ---> Key.VCR2
Consumer.00a1 ---> Sync.Report
Consumer.00a2 ---> Sync.Report
Consumer.00a3 ---> Sync.Report
Consumer.00a4 ---> Sync.Report
Consumer.00a5 ---> Sync.Report
Consumer.00a6 ---> Sync.Report
Consumer.00a7 ---> Sync.Report
Consumer.00a8 ---> Sync.Report
Consumer.00a9 ---> Sync.Report
Consumer.00aa ---> Sync.Report
Consumer.00ab ---> Sync.Report
Consumer.00ac ---> Sync.Report
Consumer.00ad ---> Sync.Report
Consumer.00ae ---> Sync.Report
Consumer.00af ---> Sync.Report
Consumer.00b0 ---> Key.Play
Consumer.00b1 ---> Key.Pause
Consumer.00b2 ---> Key.Record
Consumer.00b3 ---> Key.FastForward
Consumer.00b4 ---> Key.Rewind
Consumer.00b5 ---> Key.NextSong
Consumer.00b6 ---> Key.PreviousSong
Consumer.00b7 ---> Key.StopCD
Consumer.00b8 ---> Key.EjectCD
Consumer.00b9 ---> Sync.Report
Consumer.00ba ---> Sync.Report
Consumer.00bb ---> Sync.Report
Consumer.00bc ---> Key.?
Consumer.00bd ---> Sync.Report
Consumer.00be ---> Sync.Report
Consumer.00bf ---> Sync.Report
Consumer.00c0 ---> Sync.Report
Consumer.00c1 ---> Sync.Report
Consumer.00c2 ---> Sync.Report
Consumer.00c3 ---> Sync.Report
Consumer.00c4 ---> Sync.Report
Consumer.00c5 ---> Sync.Report
Consumer.00c6 ---> Sync.Report
Consumer.00c7 ---> Sync.Report
Consumer.00c8 ---> Sync.Report
Consumer.00c9 ---> Sync.Report
Consumer.00ca ---> Sync.Report
Consumer.00cb ---> Sync.Report
Consumer.00cc ---> Sync.Report
Consumer.00cd ---> Key.PlayPause
Consumer.00ce ---> Sync.Report
Consumer.00cf ---> Sync.Report
Consumer.00d0 ---> Sync.Report
Consumer.00d1 ---> Sync.Report
Consumer.00d2 ---> Sync.Report
Consumer.00d3 ---> Sync.Report
Consumer.00d4 ---> Sync.Report
Consumer.00d5 ---> Sync.Report
Consumer.00d6 ---> Sync.Report
Consumer.00d7 ---> Sync.Report
Consumer.00d8 ---> Sync.Report
Consumer.00d9 ---> Sync.Report
Consumer.00da ---> Sync.Report
Consumer.00db ---> Sync.Report
Consumer.00dc ---> Sync.Report
Consumer.00dd ---> Sync.Report
Consumer.00de ---> Sync.Report
Consumer.00df ---> Sync.Report
Consumer.00e0 ---> Absolute.Volume
Consumer.00e1 ---> Sync.Report
Consumer.00e2 ---> Key.Mute
Consumer.00e3 ---> Sync.Report
Consumer.00e4 ---> Sync.Report
Consumer.00e5 ---> Key.BassBoost
Consumer.00e6 ---> Sync.Report
Consumer.00e7 ---> Sync.Report
Consumer.00e8 ---> Sync.Report
Consumer.00e9 ---> Key.VolumeUp
Consumer.00ea ---> Key.VolumeDown
Consumer.00eb ---> Sync.Report
Consumer.00ec ---> Sync.Report
Consumer.00ed ---> Sync.Report
Consumer.00ee ---> Sync.Report
Consumer.00ef ---> Sync.Report
Consumer.00f0 ---> Sync.Report
Consumer.00f1 ---> Sync.Report
Consumer.00f2 ---> Sync.Report
Consumer.00f3 ---> Sync.Report
Consumer.00f4 ---> Sync.Report
Consumer.00f5 ---> Sync.Report
Consumer.00f6 ---> Sync.Report
Consumer.00f7 ---> Sync.Report
Consumer.00f8 ---> Sync.Report
Consumer.00f9 ---> Sync.Report
Consumer.00fa ---> Sync.Report
Consumer.00fb ---> Sync.Report
Consumer.00fc ---> Sync.Report
Consumer.00fd ---> Sync.Report
Consumer.00fe ---> Sync.Report
Consumer.00ff ---> Sync.Report
Consumer.0100 ---> Sync.Report
Consumer.0101 ---> Sync.Report
Consumer.0102 ---> Sync.Report
Consumer.0103 ---> Sync.Report
Consumer.0104 ---> Sync.Report
Consumer.0105 ---> Sync.Report
Consumer.0106 ---> Sync.Report
Consumer.0107 ---> Sync.Report
Consumer.0108 ---> Sync.Report
Consumer.0109 ---> Sync.Report
Consumer.010a ---> Sync.Report
Consumer.010b ---> Sync.Report
Consumer.010c ---> Sync.Report
Consumer.010d ---> Sync.Report
Consumer.010e ---> Sync.Report
Consumer.010f ---> Sync.Report
Consumer.0110 ---> Sync.Report
Consumer.0111 ---> Sync.Report
Consumer.0112 ---> Sync.Report
Consumer.0113 ---> Sync.Report
Consumer.0114 ---> Sync.Report
Consumer.0115 ---> Sync.Report
Consumer.0116 ---> Sync.Report
Consumer.0117 ---> Sync.Report
Consumer.0118 ---> Sync.Report
Consumer.0119 ---> Sync.Report
Consumer.011a ---> Sync.Report
Consumer.011b ---> Sync.Report
Consumer.011c ---> Sync.Report
Consumer.011d ---> Sync.Report
Consumer.011e ---> Sync.Report
Consumer.011f ---> Sync.Report
Consumer.0120 ---> Sync.Report
Consumer.0121 ---> Sync.Report
Consumer.0122 ---> Sync.Report
Consumer.0123 ---> Sync.Report
Consumer.0124 ---> Sync.Report
Consumer.0125 ---> Sync.Report
Consumer.0126 ---> Sync.Report
Consumer.0127 ---> Sync.Report
Consumer.0128 ---> Sync.Report
Consumer.0129 ---> Sync.Report
Consumer.012a ---> Sync.Report
Consumer.012b ---> Sync.Report
Consumer.012c ---> Sync.Report
Consumer.012d ---> Sync.Report
Consumer.012e ---> Sync.Report
Consumer.012f ---> Sync.Report
Consumer.0130 ---> Sync.Report
Consumer.0131 ---> Sync.Report
Consumer.0132 ---> Sync.Report
Consumer.0133 ---> Sync.Report
Consumer.0134 ---> Sync.Report
Consumer.0135 ---> Sync.Report
Consumer.0136 ---> Sync.Report
Consumer.0137 ---> Sync.Report
Consumer.0138 ---> Sync.Report
Consumer.0139 ---> Sync.Report
Consumer.013a ---> Sync.Report
Consumer.013b ---> Sync.Report
Consumer.013c ---> Sync.Report
Consumer.013d ---> Sync.Report
Consumer.013e ---> Sync.Report
Consumer.013f ---> Sync.Report
Consumer.0140 ---> Sync.Report
Consumer.0141 ---> Sync.Report
Consumer.0142 ---> Sync.Report
Consumer.0143 ---> Sync.Report
Consumer.0144 ---> Sync.Report
Consumer.0145 ---> Sync.Report
Consumer.0146 ---> Sync.Report
Consumer.0147 ---> Sync.Report
Consumer.0148 ---> Sync.Report
Consumer.0149 ---> Sync.Report
Consumer.014a ---> Sync.Report
Consumer.014b ---> Sync.Report
Consumer.014c ---> Sync.Report
Consumer.014d ---> Sync.Report
Consumer.014e ---> Sync.Report
Consumer.014f ---> Sync.Report
Consumer.0150 ---> Sync.Report
Consumer.0151 ---> Sync.Report
Consumer.0152 ---> Sync.Report
Consumer.0153 ---> Sync.Report
Consumer.0154 ---> Sync.Report
Consumer.0155 ---> Sync.Report
Consumer.0156 ---> Sync.Report
Consumer.0157 ---> Sync.Report
Consumer.0158 ---> Sync.Report
Consumer.0159 ---> Sync.Report
Consumer.015a ---> Sync.Report
Consumer.015b ---> Sync.Report
Consumer.015c ---> Sync.Report
Consumer.015d ---> Sync.Report
Consumer.015e ---> Sync.Report
Consumer.015f ---> Sync.Report
Consumer.0160 ---> Sync.Report
Consumer.0161 ---> Sync.Report
Consumer.0162 ---> Sync.Report
Consumer.0163 ---> Sync.Report
Consumer.0164 ---> Sync.Report
Consumer.0165 ---> Sync.Report
Consumer.0166 ---> Sync.Report
Consumer.0167 ---> Sync.Report
Consumer.0168 ---> Sync.Report
Consumer.0169 ---> Sync.Report
Consumer.016a ---> Sync.Report
Consumer.016b ---> Sync.Report
Consumer.016c ---> Sync.Report
Consumer.016d ---> Sync.Report
Consumer.016e ---> Sync.Report
Consumer.016f ---> Sync.Report
Consumer.0170 ---> Sync.Report
Consumer.0171 ---> Sync.Report
Consumer.0172 ---> Sync.Report
Consumer.0173 ---> Sync.Report
Consumer.0174 ---> Sync.Report
Consumer.0175 ---> Sync.Report
Consumer.0176 ---> Sync.Report
Consumer.0177 ---> Sync.Report
Consumer.0178 ---> Sync.Report
Consumer.0179 ---> Sync.Report
Consumer.017a ---> Sync.Report
Consumer.017b ---> Sync.Report
Consumer.017c ---> Sync.Report
Consumer.017d ---> Sync.Report
Consumer.017e ---> Sync.Report
Consumer.017f ---> Sync.Report
Consumer.0180 ---> Sync.Report
Consumer.0181 ---> Sync.Report
Consumer.0182 ---> Key.Bookmarks
Consumer.0183 ---> Key.Config
Consumer.0184 ---> Key.?
Consumer.0185 ---> Key.?
Consumer.0186 ---> Key.?
Consumer.0187 ---> Key.?
Consumer.0188 ---> Key.?
Consumer.0189 ---> Key.?
Consumer.018a ---> Key.Mail
Consumer.018b ---> Key.?
Consumer.018c ---> Key.?
Consumer.018d ---> Key.?
Consumer.018e ---> Key.Calendar
Consumer.018f ---> Sync.Report
Consumer.0190 ---> Sync.Report
Consumer.0191 ---> Key.Finance
Consumer.0192 ---> Key.Calc
Consumer.0193 ---> Sync.Report
Consumer.0194 ---> Key.File
Consumer.0195 ---> Sync.Report
Consumer.0196 ---> Key.WWW
Consumer.0197 ---> Sync.Report
Consumer.0198 ---> Sync.Report
Consumer.0199 ---> Sync.Report
Consumer.019a ---> Sync.Report
Consumer.019b ---> Sync.Report
Consumer.019c ---> Key.Logoff
Consumer.019d ---> Sync.Report
Consumer.019e ---> Key.Coffee
Consumer.019f ---> Sync.Report
Consumer.01a0 ---> Sync.Report
Consumer.01a1 ---> Sync.Report
Consumer.01a2 ---> Sync.Report
Consumer.01a3 ---> Sync.Report
Consumer.01a4 ---> Sync.Report
Consumer.01a5 ---> Sync.Report
Consumer.01a6 ---> Key.Help
Consumer.01a7 ---> Key.Documents
Consumer.01a8 ---> Sync.Report
Consumer.01a9 ---> Sync.Report
Consumer.01aa ---> Sync.Report
Consumer.01ab ---> Key.SpellCheck
Consumer.01ac ---> Sync.Report
Consumer.01ad ---> Sync.Report
Consumer.01ae ---> Sync.Report
Consumer.01af ---> Sync.Report
Consumer.01b0 ---> Sync.Report
Consumer.01b1 ---> Sync.Report
Consumer.01b2 ---> Sync.Report
Consumer.01b3 ---> Sync.Report
Consumer.01b4 ---> Sync.Report
Consumer.01b5 ---> Sync.Report
Consumer.01b6 ---> Key.Media
Consumer.01b7 ---> Key.Sound
Consumer.01b8 ---> Sync.Report
Consumer.01b9 ---> Sync.Report
Consumer.01ba ---> Sync.Report
Consumer.01bb ---> Sync.Report
Consumer.01bc ---> Key.?
Consumer.01bd ---> Key.Info
Consumer.01be ---> Sync.Report
Consumer.01bf ---> Sync.Report
Consumer.01c0 ---> Sync.Report
Consumer.01c1 ---> Sync.Report
Consumer.01c2 ---> Sync.Report
Consumer.01c3 ---> Sync.Report
Consumer.01c4 ---> Sync.Report
Consumer.01c5 ---> Sync.Report
Consumer.01c6 ---> Sync.Report
Consumer.01c7 ---> Sync.Report
Consumer.01c8 ---> Sync.Report
Consumer.01c9 ---> Sync.Report
Consumer.01ca ---> Sync.Report
Consumer.01cb ---> Sync.Report
Consumer.01cc ---> Sync.Report
Consumer.01cd ---> Sync.Report
Consumer.01ce ---> Sync.Report
Consumer.01cf ---> Sync.Report
Consumer.01d0 ---> Sync.Report
Consumer.01d1 ---> Sync.Report
Consumer.01d2 ---> Sync.Report
Consumer.01d3 ---> Sync.Report
Consumer.01d4 ---> Sync.Report
Consumer.01d5 ---> Sync.Report
Consumer.01d6 ---> Sync.Report
Consumer.01d7 ---> Sync.Report
Consumer.01d8 ---> Sync.Report
Consumer.01d9 ---> Sync.Report
Consumer.01da ---> Sync.Report
Consumer.01db ---> Sync.Report
Consumer.01dc ---> Sync.Report
Consumer.01dd ---> Sync.Report
Consumer.01de ---> Sync.Report
Consumer.01df ---> Sync.Report
Consumer.01e0 ---> Sync.Report
Consumer.01e1 ---> Sync.Report
Consumer.01e2 ---> Sync.Report
Consumer.01e3 ---> Sync.Report
Consumer.01e4 ---> Sync.Report
Consumer.01e5 ---> Sync.Report
Consumer.01e6 ---> Sync.Report
Consumer.01e7 ---> Sync.Report
Consumer.01e8 ---> Sync.Report
Consumer.01e9 ---> Sync.Report
Consumer.01ea ---> Sync.Report
Consumer.01eb ---> Sync.Report
Consumer.01ec ---> Sync.Report
Consumer.01ed ---> Sync.Report
Consumer.01ee ---> Sync.Report
Consumer.01ef ---> Sync.Report
Consumer.01f0 ---> Sync.Report
Consumer.01f1 ---> Sync.Report
Consumer.01f2 ---> Sync.Report
Consumer.01f3 ---> Sync.Report
Consumer.01f4 ---> Sync.Report
Consumer.01f5 ---> Sync.Report
Consumer.01f6 ---> Sync.Report
Consumer.01f7 ---> Sync.Report
Consumer.01f8 ---> Sync.Report
Consumer.01f9 ---> Sync.Report
Consumer.01fa ---> Sync.Report
Consumer.01fb ---> Sync.Report
Consumer.01fc ---> Sync.Report
Consumer.01fd ---> Sync.Report
Consumer.01fe ---> Sync.Report
Consumer.01ff ---> Sync.Report
Consumer.0200 ---> Sync.Report
Consumer.0201 ---> Key.New
Consumer.0202 ---> Key.Open
Consumer.0203 ---> Key.Close
Consumer.0204 ---> Key.Exit
Consumer.0205 ---> Sync.Report
Consumer.0206 ---> Sync.Report
Consumer.0207 ---> Key.Save
Consumer.0208 ---> Key.Print
Consumer.0209 ---> Key.Props
Consumer.020a ---> Sync.Report
Consumer.020b ---> Sync.Report
Consumer.020c ---> Sync.Report
Consumer.020d ---> Sync.Report
Consumer.020e ---> Sync.Report
Consumer.020f ---> Sync.Report
Consumer.0210 ---> Sync.Report
Consumer.0211 ---> Sync.Report
Consumer.0212 ---> Sync.Report
Consumer.0213 ---> Sync.Report
Consumer.0214 ---> Sync.Report
Consumer.0215 ---> Sync.Report
Consumer.0216 ---> Sync.Report
Consumer.0217 ---> Sync.Report
Consumer.0218 ---> Sync.Report
Consumer.0219 ---> Sync.Report
Consumer.021a ---> Key.Undo
Consumer.021b ---> Key.Copy
Consumer.021c ---> Key.Cut
Consumer.021d ---> Key.Paste
Consumer.021e ---> Sync.Report
Consumer.021f ---> Key.Find
Consumer.0220 ---> Sync.Report
Consumer.0221 ---> Key.Search
Consumer.0222 ---> Key.Goto
Consumer.0223 ---> Key.HomePage
Consumer.0224 ---> Key.Back
Consumer.0225 ---> Key.Forward
Consumer.0226 ---> Key.Stop
Consumer.0227 ---> Key.Refresh
Consumer.0228 ---> Sync.Report
Consumer.0229 ---> Sync.Report
Consumer.022a ---> Key.Bookmarks
Consumer.022b ---> Sync.Report
Consumer.022c ---> Sync.Report
Consumer.022d ---> Key.?
Consumer.022e ---> Key.?
Consumer.022f ---> Key.?
Consumer.0230 ---> Sync.Report
Consumer.0231 ---> Sync.Report
Consumer.0232 ---> Sync.Report
Consumer.0233 ---> Key.ScrollUp
Consumer.0234 ---> Key.ScrollDown
Consumer.0235 ---> Sync.Report
Consumer.0236 ---> Sync.Report
Consumer.0237 ---> Sync.Report
Consumer.HorizontalWheel ---> Relative.HWheel
Consumer.0239 ---> Sync.Report
Consumer.023a ---> Sync.Report
Consumer.023b ---> Sync.Report
Consumer.023c ---> Sync.Report
Consumer.023d ---> Sync.Report
Consumer.023e ---> Sync.Report
Consumer.023f ---> Sync.Report
Consumer.0240 ---> Sync.Report
Consumer.0241 ---> Sync.Report
Consumer.0242 ---> Sync.Report
Consumer.0243 ---> Sync.Report
Consumer.0244 ---> Sync.Report
Consumer.0245 ---> Sync.Report
Consumer.0246 ---> Sync.Report
Consumer.0247 ---> Sync.Report
Consumer.0248 ---> Sync.Report
Consumer.0249 ---> Sync.Report
Consumer.024a ---> Sync.Report
Consumer.024b ---> Sync.Report
Consumer.024c ---> Sync.Report
Consumer.024d ---> Sync.Report
Consumer.024e ---> Sync.Report
Consumer.024f ---> Sync.Report
Consumer.0250 ---> Sync.Report
Consumer.0251 ---> Sync.Report
Consumer.0252 ---> Sync.Report
Consumer.0253 ---> Sync.Report
Consumer.0254 ---> Sync.Report
Consumer.0255 ---> Sync.Report
Consumer.0256 ---> Sync.Report
Consumer.0257 ---> Sync.Report
Consumer.0258 ---> Sync.Report
Consumer.0259 ---> Sync.Report
Consumer.025a ---> Sync.Report
Consumer.025b ---> Sync.Report
Consumer.025c ---> Sync.Report
Consumer.025d ---> Sync.Report
Consumer.025e ---> Sync.Report
Consumer.025f ---> Key.Cancel
Consumer.0260 ---> Sync.Report
Consumer.0261 ---> Sync.Report
Consumer.0262 ---> Sync.Report
Consumer.0263 ---> Sync.Report
Consumer.0264 ---> Sync.Report
Consumer.0265 ---> Sync.Report
Consumer.0266 ---> Sync.Report
Consumer.0267 ---> Sync.Report
Consumer.0268 ---> Sync.Report
Consumer.0269 ---> Sync.Report
Consumer.026a ---> Sync.Report
Consumer.026b ---> Sync.Report
Consumer.026c ---> Sync.Report
Consumer.026d ---> Sync.Report
Consumer.026e ---> Sync.Report
Consumer.026f ---> Sync.Report
Consumer.0270 ---> Sync.Report
Consumer.0271 ---> Sync.Report
Consumer.0272 ---> Sync.Report
Consumer.0273 ---> Sync.Report
Consumer.0274 ---> Sync.Report
Consumer.0275 ---> Sync.Report
Consumer.0276 ---> Sync.Report
Consumer.0277 ---> Sync.Report
Consumer.0278 ---> Sync.Report
Consumer.0279 ---> Key.Redo
Consumer.027a ---> Sync.Report
Consumer.027b ---> Sync.Report
Consumer.027c ---> Sync.Report
Consumer.027d ---> Sync.Report
Consumer.027e ---> Sync.Report
Consumer.027f ---> Sync.Report
Consumer.0280 ---> Sync.Report
Consumer.0281 ---> Sync.Report
Consumer.0282 ---> Sync.Report
Consumer.0283 ---> Sync.Report
Consumer.0284 ---> Sync.Report
Consumer.0285 ---> Sync.Report
Consumer.0286 ---> Sync.Report
Consumer.0287 ---> Sync.Report
Consumer.0288 ---> Sync.Report
Consumer.0289 ---> Key.Reply
Consumer.028a ---> Sync.Report
Consumer.028b ---> Key.ForwardMail
Consumer.028c ---> Key.Send
Consumer.028d ---> Sync.Report
Consumer.028e ---> Sync.Report
Consumer.028f ---> Sync.Report
Consumer.0290 ---> Sync.Report
Consumer.0291 ---> Sync.Report
Consumer.0292 ---> Sync.Report
Consumer.0293 ---> Sync.Report
Consumer.0294 ---> Sync.Report
Consumer.0295 ---> Sync.Report
Consumer.0296 ---> Sync.Report
Consumer.0297 ---> Sync.Report
Consumer.0298 ---> Sync.Report
Consumer.0299 ---> Sync.Report
Consumer.029a ---> Sync.Report
Consumer.029b ---> Sync.Report
Consumer.029c ---> Sync.Report
Consumer.029d ---> Sync.Report
Consumer.029e ---> Sync.Report
Consumer.029f ---> Sync.Report
Consumer.02a0 ---> Sync.Report
Consumer.02a1 ---> Sync.Report
Consumer.02a2 ---> Sync.Report
Consumer.02a3 ---> Sync.Report
Consumer.02a4 ---> Sync.Report
Consumer.02a5 ---> Sync.Report
Consumer.02a6 ---> Sync.Report
Consumer.02a7 ---> Sync.Report
Consumer.02a8 ---> Sync.Report
Consumer.02a9 ---> Sync.Report
Consumer.02aa ---> Sync.Report
Consumer.02ab ---> Sync.Report
Consumer.02ac ---> Sync.Report
Consumer.02ad ---> Sync.Report
Consumer.02ae ---> Sync.Report
Consumer.02af ---> Sync.Report
Consumer.02b0 ---> Sync.Report
Consumer.02b1 ---> Sync.Report
Consumer.02b2 ---> Sync.Report
Consumer.02b3 ---> Sync.Report
Consumer.02b4 ---> Sync.Report
Consumer.02b5 ---> Sync.Report
Consumer.02b6 ---> Sync.Report
Consumer.02b7 ---> Sync.Report
Consumer.02b8 ---> Sync.Report
Consumer.02b9 ---> Sync.Report
Consumer.02ba ---> Sync.Report
Consumer.02bb ---> Sync.Report
Consumer.02bc ---> Sync.Report
Consumer.02bd ---> Sync.Report
Consumer.02be ---> Sync.Report
Consumer.02bf ---> Sync.Report
Consumer.02c0 ---> Sync.Report
Consumer.02c1 ---> Sync.Report
Consumer.02c2 ---> Sync.Report
Consumer.02c3 ---> Sync.Report
Consumer.02c4 ---> Sync.Report
Consumer.02c5 ---> Sync.Report
Consumer.02c6 ---> Sync.Report
Consumer.02c7 ---> Sync.Report
Consumer.02c8 ---> Sync.Report
Consumer.02c9 ---> Sync.Report
Consumer.02ca ---> Sync.Report
Consumer.02cb ---> Sync.Report
Consumer.02cc ---> Sync.Report
Consumer.02cd ---> Sync.Report
Consumer.02ce ---> Sync.Report
Consumer.02cf ---> Sync.Report
Consumer.02d0 ---> Sync.Report
Consumer.02d1 ---> Sync.Report
Consumer.02d2 ---> Sync.Report
Consumer.02d3 ---> Sync.Report
Consumer.02d4 ---> Sync.Report
Consumer.02d5 ---> Sync.Report
Consumer.02d6 ---> Sync.Report
Consumer.02d7 ---> Sync.Report
Consumer.02d8 ---> Sync.Report
Consumer.02d9 ---> Sync.Report
Consumer.02da ---> Sync.Report
Consumer.02db ---> Sync.Report
Consumer.02dc ---> Sync.Report
Consumer.02dd ---> Sync.Report
Consumer.02de ---> Sync.Report
Consumer.02df ---> Sync.Report
Consumer.02e0 ---> Sync.Report
Consumer.02e1 ---> Sync.Report
Consumer.02e2 ---> Sync.Report
Consumer.02e3 ---> Sync.Report
Consumer.02e4 ---> Sync.Report
Consumer.02e5 ---> Sync.Report
Consumer.02e6 ---> Sync.Report
Consumer.02e7 ---> Sync.Report
Consumer.02e8 ---> Sync.Report
Consumer.02e9 ---> Sync.Report
Consumer.02ea ---> Sync.Report
Consumer.02eb ---> Sync.Report
Consumer.02ec ---> Sync.Report
Consumer.02ed ---> Sync.Report
Consumer.02ee ---> Sync.Report
Consumer.02ef ---> Sync.Report
Consumer.02f0 ---> Sync.Report
Consumer.02f1 ---> Sync.Report
Consumer.02f2 ---> Sync.Report
Consumer.02f3 ---> Sync.Report
Consumer.02f4 ---> Sync.Report
Consumer.02f5 ---> Sync.Report
Consumer.02f6 ---> Sync.Report
Consumer.02f7 ---> Sync.Report
Consumer.02f8 ---> Sync.Report
Consumer.02f9 ---> Sync.Report
Consumer.02fa ---> Sync.Report
Consumer.02fb ---> Sync.Report
Consumer.02fc ---> Sync.Report
Consumer.02fd ---> Sync.Report
Consumer.02fe ---> Sync.Report
Consumer.02ff ---> Sync.Report
ffbc.0000 ---> Sync.Report
ffbc.0001 ---> Sync.Report
ffbc.0002 ---> Sync.Report
ffbc.0003 ---> Sync.Report
ffbc.0004 ---> Sync.Report
ffbc.0005 ---> Sync.Report
ffbc.0006 ---> Sync.Report
ffbc.0007 ---> Sync.Report
ffbc.0008 ---> Sync.Report
ffbc.0009 ---> Sync.Report
ffbc.000a ---> Sync.Report
ffbc.000b ---> Sync.Report
ffbc.000c ---> Sync.Report
ffbc.000d ---> Sync.Report
ffbc.000e ---> Sync.Report
ffbc.000f ---> Sync.Report
ffbc.0010 ---> Sync.Report
ffbc.0011 ---> Sync.Report
ffbc.0012 ---> Sync.Report
ffbc.0013 ---> Sync.Report
ffbc.0014 ---> Sync.Report
ffbc.0015 ---> Sync.Report
ffbc.0016 ---> Sync.Report
ffbc.0017 ---> Sync.Report
ffbc.0018 ---> Sync.Report
ffbc.0019 ---> Sync.Report
ffbc.001a ---> Sync.Report
ffbc.001b ---> Sync.Report
ffbc.001c ---> Sync.Report
ffbc.001d ---> Sync.Report
ffbc.001e ---> Sync.Report
ffbc.001f ---> Sync.Report
ffbc.0020 ---> Sync.Report
ffbc.0021 ---> Sync.Report
ffbc.0022 ---> Sync.Report
ffbc.0023 ---> Sync.Report
ffbc.0024 ---> Sync.Report
ffbc.0025 ---> Sync.Report
ffbc.0026 ---> Sync.Report
ffbc.0027 ---> Sync.Report
ffbc.0028 ---> Sync.Report
ffbc.0029 ---> Sync.Report
ffbc.002a ---> Sync.Report
ffbc.002b ---> Sync.Report
ffbc.002c ---> Sync.Report
ffbc.002d ---> Sync.Report
ffbc.002e ---> Sync.Report
ffbc.002f ---> Sync.Report
ffbc.0030 ---> Sync.Report
ffbc.0031 ---> Sync.Report
ffbc.0032 ---> Sync.Report
ffbc.0033 ---> Sync.Report
ffbc.0034 ---> Sync.Report
ffbc.0035 ---> Sync.Report
ffbc.0036 ---> Sync.Report
ffbc.0037 ---> Sync.Report
ffbc.0038 ---> Sync.Report
ffbc.0039 ---> Sync.Report
ffbc.003a ---> Sync.Report
ffbc.003b ---> Sync.Report
ffbc.003c ---> Sync.Report
ffbc.003d ---> Sync.Report
ffbc.003e ---> Sync.Report
ffbc.003f ---> Sync.Report
ffbc.0040 ---> Sync.Report
ffbc.0041 ---> Sync.Report
ffbc.0042 ---> Sync.Report
ffbc.0043 ---> Sync.Report
ffbc.0044 ---> Sync.Report
ffbc.0045 ---> Sync.Report
ffbc.0046 ---> Sync.Report
ffbc.0047 ---> Sync.Report
ffbc.0048 ---> Sync.Report
ffbc.0049 ---> Sync.Report
ffbc.004a ---> Sync.Report
ffbc.004b ---> Sync.Report
ffbc.004c ---> Sync.Report
ffbc.004d ---> Sync.Report
ffbc.004e ---> Sync.Report
ffbc.004f ---> Sync.Report
ffbc.0050 ---> Sync.Report
ffbc.0051 ---> Sync.Report
ffbc.0052 ---> Sync.Report
ffbc.0053 ---> Sync.Report
ffbc.0054 ---> Sync.Report
ffbc.0055 ---> Sync.Report
ffbc.0056 ---> Sync.Report
ffbc.0057 ---> Sync.Report
ffbc.0058 ---> Sync.Report
ffbc.0059 ---> Sync.Report
ffbc.005a ---> Sync.Report
ffbc.005b ---> Sync.Report
ffbc.005c ---> Sync.Report
ffbc.005d ---> Sync.Report
ffbc.005e ---> Sync.Report
ffbc.005f ---> Sync.Report
ffbc.0060 ---> Sync.Report
ffbc.0061 ---> Sync.Report
ffbc.0062 ---> Sync.Report
ffbc.0063 ---> Sync.Report
ffbc.0064 ---> Sync.Report
ffbc.0065 ---> Sync.Report
ffbc.0066 ---> Sync.Report
ffbc.0067 ---> Sync.Report
ffbc.0068 ---> Sync.Report
ffbc.0069 ---> Sync.Report
ffbc.006a ---> Sync.Report
ffbc.006b ---> Sync.Report
ffbc.006c ---> Sync.Report
ffbc.006d ---> Sync.Report
ffbc.006e ---> Sync.Report
ffbc.006f ---> Sync.Report
ffbc.0070 ---> Sync.Report
ffbc.0071 ---> Sync.Report
ffbc.0072 ---> Sync.Report
ffbc.0073 ---> Sync.Report
ffbc.0074 ---> Sync.Report
ffbc.0075 ---> Sync.Report
ffbc.0076 ---> Sync.Report
ffbc.0077 ---> Sync.Report
ffbc.0078 ---> Sync.Report
ffbc.0079 ---> Sync.Report
ffbc.007a ---> Sync.Report
ffbc.007b ---> Sync.Report
ffbc.007c ---> Sync.Report
ffbc.007d ---> Sync.Report
ffbc.007e ---> Sync.Report
ffbc.007f ---> Sync.Report
ffbc.0080 ---> Sync.Report
ffbc.0081 ---> Sync.Report
ffbc.0082 ---> Sync.Report
ffbc.0083 ---> Sync.Report
ffbc.0084 ---> Sync.Report
ffbc.0085 ---> Sync.Report
ffbc.0086 ---> Sync.Report
ffbc.0087 ---> Sync.Report
ffbc.0088 ---> Sync.Report
ffbc.0089 ---> Sync.Report
ffbc.008a ---> Sync.Report
ffbc.008b ---> Sync.Report
ffbc.008c ---> Sync.Report
ffbc.008d ---> Sync.Report
ffbc.008e ---> Sync.Report
ffbc.008f ---> Sync.Report
ffbc.0090 ---> Sync.Report
ffbc.0091 ---> Sync.Report
ffbc.0092 ---> Sync.Report
ffbc.0093 ---> Sync.Report
ffbc.0094 ---> Sync.Report
ffbc.0095 ---> Sync.Report
ffbc.0096 ---> Sync.Report
ffbc.0097 ---> Sync.Report
ffbc.0098 ---> Sync.Report
ffbc.0099 ---> Sync.Report
ffbc.009a ---> Sync.Report
ffbc.009b ---> Sync.Report
ffbc.009c ---> Sync.Report
ffbc.009d ---> Sync.Report
ffbc.009e ---> Sync.Report
ffbc.009f ---> Sync.Report
ffbc.00a0 ---> Sync.Report
ffbc.00a1 ---> Sync.Report
ffbc.00a2 ---> Sync.Report
ffbc.00a3 ---> Sync.Report
ffbc.00a4 ---> Sync.Report
ffbc.00a5 ---> Sync.Report
ffbc.00a6 ---> Sync.Report
ffbc.00a7 ---> Sync.Report
ffbc.00a8 ---> Sync.Report
ffbc.00a9 ---> Sync.Report
ffbc.00aa ---> Sync.Report
ffbc.00ab ---> Sync.Report
ffbc.00ac ---> Sync.Report
ffbc.00ad ---> Sync.Report
ffbc.00ae ---> Sync.Report
ffbc.00af ---> Sync.Report
ffbc.00b0 ---> Sync.Report
ffbc.00b1 ---> Sync.Report
ffbc.00b2 ---> Sync.Report
ffbc.00b3 ---> Sync.Report
ffbc.00b4 ---> Sync.Report
ffbc.00b5 ---> Sync.Report
ffbc.00b6 ---> Sync.Report
ffbc.00b7 ---> Sync.Report
ffbc.00b8 ---> Sync.Report
ffbc.00b9 ---> Sync.Report
ffbc.00ba ---> Sync.Report
ffbc.00bb ---> Sync.Report
ffbc.00bc ---> Sync.Report
ffbc.00bd ---> Sync.Report
ffbc.00be ---> Sync.Report
ffbc.00bf ---> Sync.Report
ffbc.00c0 ---> Sync.Report
ffbc.00c1 ---> Sync.Report
ffbc.00c2 ---> Sync.Report
ffbc.00c3 ---> Sync.Report
ffbc.00c4 ---> Sync.Report
ffbc.00c5 ---> Sync.Report
ffbc.00c6 ---> Sync.Report
ffbc.00c7 ---> Sync.Report
ffbc.00c8 ---> Sync.Report
ffbc.00c9 ---> Sync.Report
ffbc.00ca ---> Sync.Report
ffbc.00cb ---> Sync.Report
ffbc.00cc ---> Sync.Report
ffbc.00cd ---> Sync.Report
ffbc.00ce ---> Sync.Report
ffbc.00cf ---> Sync.Report
ffbc.00d0 ---> Sync.Report
ffbc.00d1 ---> Sync.Report
ffbc.00d2 ---> Sync.Report
ffbc.00d3 ---> Sync.Report
ffbc.00d4 ---> Sync.Report
ffbc.00d5 ---> Sync.Report
ffbc.00d6 ---> Sync.Report
ffbc.00d7 ---> Sync.Report
ffbc.00d8 ---> Sync.Report
ffbc.00d9 ---> Sync.Report
ffbc.00da ---> Sync.Report
ffbc.00db ---> Sync.Report
ffbc.00dc ---> Sync.Report
ffbc.00dd ---> Sync.Report
ffbc.00de ---> Sync.Report
ffbc.00df ---> Sync.Report
ffbc.00e0 ---> Sync.Report
ffbc.00e1 ---> Sync.Report
ffbc.00e2 ---> Sync.Report
ffbc.00e3 ---> Sync.Report
ffbc.00e4 ---> Sync.Report
ffbc.00e5 ---> Sync.Report
ffbc.00e6 ---> Sync.Report
ffbc.00e7 ---> Sync.Report
ffbc.00e8 ---> Sync.Report
ffbc.00e9 ---> Sync.Report
ffbc.00ea ---> Sync.Report
ffbc.00eb ---> Sync.Report
ffbc.00ec ---> Sync.Report
ffbc.00ed ---> Sync.Report
ffbc.00ee ---> Sync.Report
ffbc.00ef ---> Sync.Report
ffbc.00f0 ---> Sync.Report
ffbc.00f1 ---> Sync.Report
ffbc.00f2 ---> Sync.Report
ffbc.00f3 ---> Sync.Report
ffbc.00f4 ---> Sync.Report
ffbc.00f5 ---> Sync.Report
ffbc.00f6 ---> Sync.Report
ffbc.00f7 ---> Sync.Report
ffbc.00f8 ---> Sync.Report
ffbc.00f9 ---> Sync.Report
ffbc.00fa ---> Sync.Report
ffbc.00fb ---> Sync.Report
ffbc.00fc ---> Sync.Report
ffbc.00fd ---> Sync.Report
ffbc.00fe ---> Sync.Report
ffbc.00ff ---> Sync.Report
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH] HID: driver for BTC "Emprex 3009URF III Vista MCE Remote" quirky remote
2010-03-18 20:03 ` Wayne Thomas
@ 2010-04-20 18:29 ` Wayne Thomas
0 siblings, 0 replies; 16+ messages in thread
From: Wayne Thomas @ 2010-04-20 18:29 UTC (permalink / raw)
To: Jiri Kosina; +Cc: Ben Hardill, linux-input
On Thu, Mar 18, 2010 at 10:03 PM, Wayne Thomas <waynethomas69@gmail.com> wrote:
> On Thu, Mar 18, 2010 at 12:00 PM, Jiri Kosina <jkosina@suse.cz> wrote:
>> On Thu, 18 Mar 2010, Jiri Kosina wrote:
>>
>>> > I have compiled kernel 2.6.33.1 with hid_debug set to 2.
>>> > Below is the output of the appropriate device (the remote presents
>>> > itself as two separate event devices) when pressing some of the
>>> > buttons in question.
>>> >
>>> > I have attached the output of
>>> > /sys/kernel/debug/hid/0003:046E:5578.0004/rdesc as a text file since
>>> > it is so long, but here is the output of
>>> > /sys/kernel/debug/hid/0003:046E:5578.0004/events (one report for each
>>> > button pressed).
>>> >
>>> > report (size 7) (numbered)
>>> >
>>> >
>>> >
>>> > report (size 7) (numbered)
>>> >
>>> >
>>> >
>>> > report (size 7) (numbered)
>>> >
>>> >
>>> >
>>>
>>> Hmm, this is very odd output. Do you by any chance have messages such as
>>>
>>> undefined report_id <NUMBER> received
>>>
>>> appearing in your 'dmesg' output when you are pressing the keys?
>>
>> Does applying the patch below give reasonable output in 'events' debugfs
>> file please?
>>
>>
>>
>> diff --git a/drivers/hid/hid-core.c b/drivers/hid/hid-core.c
>> index 368fbb0..c49aaa2 100644
>> --- a/drivers/hid/hid-core.c
>> +++ b/drivers/hid/hid-core.c
>> @@ -1096,20 +1096,11 @@ int hid_input_report(struct hid_device *hid, int type, u8 *data, int size, int i
>> goto nomem;
>> }
>>
>> - snprintf(buf, HID_DEBUG_BUFSIZE - 1,
>> - "\nreport (size %u) (%snumbered)\n", size, report_enum->numbered ? "" : "un");
>> - hid_debug_event(hid, buf);
>> -
>> - report = hid_get_report(report_enum, data);
>> - if (!report) {
>> - kfree(buf);
>> - return -1;
>> - }
>> -
>> /* dump the report */
>> snprintf(buf, HID_DEBUG_BUFSIZE - 1,
>> - "report %d (size %u) = ", report->id, size);
>> + "\nreport (size %u) (%snumbered) = ", size, report_enum->numbered ? "" : "un");
>> hid_debug_event(hid, buf);
>> +
>> for (i = 0; i < size; i++) {
>> snprintf(buf, HID_DEBUG_BUFSIZE - 1,
>> " %02x", data[i]);
>> @@ -1117,6 +1108,13 @@ int hid_input_report(struct hid_device *hid, int type, u8 *data, int size, int i
>> }
>> hid_debug_event(hid, "\n");
>>
>> + report = hid_get_report(report_enum, data);
>> +
>> + if (!report) {
>> + kfree(buf);
>> + return -1;
>> + }
>> +
>> kfree(buf);
>>
>> nomem:
>>
>
> Jiri,
> nothing at all appears in dmesg in relation to the button presses.
> I manually applied the patch and have retested. The only difference I
> noticed was the presence of an equals sign in events:
>
> report (size 7) (numbered) =
>
>
> rdesc appears identical, but I have attached it just in case.
>
> Also, in the off-chance that it is any use, here is the output of
> dmesg when I plug the receiver in (there is no output when any buttons
> are pressed).
>
> [ 572.392097] usb 3-1: new low speed USB device using uhci_hcd and address 4
> [ 572.577199] drivers/hid/usbhid/hid-core.c: HID probe called for ifnum 0
> [ 572.590688] input: BTC USB MCE Cordless Remote Control. as
> /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.0/input/input12
> [ 572.590843] generic-usb 0003:046E:5578.0005: input,hidraw0: USB HID
> v1.11 Keyboard [BTC USB MCE Cordless Remote Control.] on
> usb-0000:00:1d.1-1/input0
> [ 572.590969] drivers/hid/usbhid/hid-core.c: HID probe called for ifnum 1
> [ 572.611848] drivers/hid/usbhid/hid-core.c: submitting ctrl urb:
> Get_Report wValue=0x0101 wIndex=0x0001 wLength=2
> [ 572.614082] drivers/hid/usbhid/hid-core.c: submitting ctrl urb:
> Get_Report wValue=0x0102 wIndex=0x0001 wLength=7
> [ 572.617082] drivers/hid/usbhid/hid-core.c: submitting ctrl urb:
> Get_Report wValue=0x0103 wIndex=0x0001 wLength=7
> [ 572.621086] drivers/hid/hid-core.c: undefined report_id 0 received
> [ 572.621095] drivers/hid/usbhid/hid-core.c: submitting ctrl urb:
> Get_Report wValue=0x0303 wIndex=0x0001 wLength=8
> [ 572.625084] drivers/hid/hid-core.c: undefined report_id 0 received
> [ 572.625366] input: BTC USB MCE Cordless Remote Control. as
> /devices/pci0000:00/0000:00:1d.1/usb3/3-1/3-1:1.1/input/input13
> [ 572.625576] generic-usb 0003:046E:5578.0006:
> input,hiddev96,hidraw1: USB HID v1.11 Device [BTC USB MCE Cordless
> Remote Control.] on usb-0000:00:1d.1-1/input1
>
> Cheers
> Wayne
>
Jiri,
I haven't heard anything for quite a while so assume that you have
more pressing priorities than this.
In the meantime it occured to me that it would be relatively simple
for me to patch hid-topseed to support this item (the keymaps are
identical apart from a few extra keys).
If I created this patch would it be accepted as an interim support
solution until the udev method actually works? I figure hid-topseed
is already in existence so it wouldn't be adding additional quirky
drivers and once the ffbc usage page works under udev there is no
extra effort to migrate to this method.
Thoughts?
Cheers
Wayne
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH] HID: driver for BTC "Emprex 3009URF III Vista MCE Remote" quirky remote
2010-01-18 10:33 ` Wayne Thomas
@ 2010-02-17 15:20 ` Jiri Kosina
0 siblings, 0 replies; 16+ messages in thread
From: Jiri Kosina @ 2010-02-17 15:20 UTC (permalink / raw)
To: Wayne Thomas; +Cc: Dmitry Torokhov, linux-input
On Mon, 18 Jan 2010, Wayne Thomas wrote:
> I've had a look around in the udev source code for an idea of how you
> intend on this to be implemented, but unfortunately couldn't find a
> sutiable example to examine. As such I wont be of much use to you with
> in this regard. Something I did note however was that there is at least
> five different quirky drivers that are using the 0x0ffbc0000 HID usage
> page (defined as HID_UP_LOGIVENDOR), a handful of which do nothing more
> than capture the keypresses from this usage page. Comparing the keys in
> question I realised that they could have been captured under a single
> quirky driver, if not in hid-input itself. It appears to me that a new
> generation of Windows MCE remote devices are coming onto the market that
> are using this usage page as standard. I was going to fiddle around
> with this but instead will wait to see how this will be implemented in
> udev. Sorry I couldn't relieve some of your work-load.
udev keymaps are described in README.keymap.txt in udev package. You can
find current version on
http://git.kernel.org/?p=linux/hotplug/udev.git;a=blob;f=extras/keymap/README.keymap.txt;h=9c2d5dc16a151d57720b1dfe39e784f1b1d47367;hb=HEAD
Thanks,
--
Jiri Kosina
SUSE Labs, Novell Inc.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH] HID: driver for BTC "Emprex 3009URF III Vista MCE Remote" quirky remote
2010-01-02 21:25 ` Jiri Kosina
(?)
@ 2010-01-18 10:33 ` Wayne Thomas
2010-02-17 15:20 ` Jiri Kosina
-1 siblings, 1 reply; 16+ messages in thread
From: Wayne Thomas @ 2010-01-18 10:33 UTC (permalink / raw)
To: Jiri Kosina; +Cc: Dmitry Torokhov, linux-input
On Sat, Jan 2, 2010 at 10:25 PM, Jiri Kosina <jkosina@suse.cz> wrote:
> On Sat, 2 Jan 2010, Wayne Thomas wrote:
>
>> >> The Behavior Tech. Computer Corp. (BTC) remote branded as "Emprex 3009URF III
>> >> Vista Remote Controller" uses non-standard mappings for all of its 'special
>> >> purpose' keys (0xffbc usage page). Applies cleanly to 2.6.30 and 2.6.32
>> >> (other versions not tested).
>> >> scripts/scriptpatch.pl reports 13 styling errors in hid-btc.c
>> >> ("break;" should be on trailing lines)
>> >> but have not changed them to maintain styling consistency with existing drivers.
>> >
>> > I believe that this kind of mapping adjustment can be done via UDEV/HAL
>> > key remapping facilities, without need for the kernel patch.
>>
>> I'll look into what you have suggested. The issue is identical to
>> that of the TopSeed remote, which is why I used this method. If this
>> is the case I assume that the topseed driver (and any others) should
>> also be removed?
>
> Hi Wayne,
>
> unfortunately you have a point here.
>
> Moving all the drivers which don't do anything else than establish simple
> HID->input mappings (such as your driver, or the TopSpeed one), into
> userspace (udev, please note that HAL is now deprecated), has been on my
> TODO list for quite a long time.
>
> But there has unfortunately always been something more important, so I
> have been quite sluggish with this.
>
> If you'd be submitting your changes for BTC to udev, it would be cool if
> you could do the same for other drivers we now have in kernel, so that
> they could be removed one day.
> Otherwise I'll do it hopefully soon, I will push it in my TODO a little
> bit higher as a new-year's resolution :)
>
> Thanks,
>
> --
> Jiri Kosina
> SUSE Labs, Novell Inc.
>
Jiri/Dmitry,
I've had a look around in the udev source code for an idea of how you
intend on this to be implemented, but unfortunately couldn't find a
sutiable example to examine. As such I wont be of much use to you
with in this regard.
Something I did note however was that there is at least five different
quirky drivers that are using the 0x0ffbc0000 HID usage page (defined
as HID_UP_LOGIVENDOR), a handful of which do nothing more than capture
the keypresses from this usage page. Comparing the keys in question I
realised that they could have been captured under a single quirky
driver, if not in hid-input itself. It appears to me that a new
generation of Windows MCE remote devices are coming onto the market
that are using this usage page as standard. I was going to fiddle
around with this but instead will wait to see how this will be
implemented in udev.
Sorry I couldn't relieve some of your work-load.
Cheers
Wayne
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH] HID: driver for BTC "Emprex 3009URF III Vista MCE Remote" quirky remote
2010-01-02 9:52 ` Wayne Thomas
@ 2010-01-02 21:25 ` Jiri Kosina
-1 siblings, 0 replies; 16+ messages in thread
From: Jiri Kosina @ 2010-01-02 21:25 UTC (permalink / raw)
To: Wayne Thomas; +Cc: Dmitry Torokhov, linux-input, linux-kernel
On Sat, 2 Jan 2010, Wayne Thomas wrote:
> >> The Behavior Tech. Computer Corp. (BTC) remote branded as "Emprex 3009URF III
> >> Vista Remote Controller" uses non-standard mappings for all of its 'special
> >> purpose' keys (0xffbc usage page). Applies cleanly to 2.6.30 and 2.6.32
> >> (other versions not tested).
> >> scripts/scriptpatch.pl reports 13 styling errors in hid-btc.c
> >> ("break;" should be on trailing lines)
> >> but have not changed them to maintain styling consistency with existing drivers.
> >
> > I believe that this kind of mapping adjustment can be done via UDEV/HAL
> > key remapping facilities, without need for the kernel patch.
>
> I'll look into what you have suggested. The issue is identical to
> that of the TopSeed remote, which is why I used this method. If this
> is the case I assume that the topseed driver (and any others) should
> also be removed?
Hi Wayne,
unfortunately you have a point here.
Moving all the drivers which don't do anything else than establish simple
HID->input mappings (such as your driver, or the TopSpeed one), into
userspace (udev, please note that HAL is now deprecated), has been on my
TODO list for quite a long time.
But there has unfortunately always been something more important, so I
have been quite sluggish with this.
If you'd be submitting your changes for BTC to udev, it would be cool if
you could do the same for other drivers we now have in kernel, so that
they could be removed one day.
Otherwise I'll do it hopefully soon, I will push it in my TODO a little
bit higher as a new-year's resolution :)
Thanks,
--
Jiri Kosina
SUSE Labs, Novell Inc.
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH] HID: driver for BTC "Emprex 3009URF III Vista MCE Remote" quirky remote
@ 2010-01-02 21:25 ` Jiri Kosina
0 siblings, 0 replies; 16+ messages in thread
From: Jiri Kosina @ 2010-01-02 21:25 UTC (permalink / raw)
To: Wayne Thomas; +Cc: Dmitry Torokhov, linux-input, linux-kernel
On Sat, 2 Jan 2010, Wayne Thomas wrote:
> >> The Behavior Tech. Computer Corp. (BTC) remote branded as "Emprex 3009URF III
> >> Vista Remote Controller" uses non-standard mappings for all of its 'special
> >> purpose' keys (0xffbc usage page). Applies cleanly to 2.6.30 and 2.6.32
> >> (other versions not tested).
> >> scripts/scriptpatch.pl reports 13 styling errors in hid-btc.c
> >> ("break;" should be on trailing lines)
> >> but have not changed them to maintain styling consistency with existing drivers.
> >
> > I believe that this kind of mapping adjustment can be done via UDEV/HAL
> > key remapping facilities, without need for the kernel patch.
>
> I'll look into what you have suggested. The issue is identical to
> that of the TopSeed remote, which is why I used this method. If this
> is the case I assume that the topseed driver (and any others) should
> also be removed?
Hi Wayne,
unfortunately you have a point here.
Moving all the drivers which don't do anything else than establish simple
HID->input mappings (such as your driver, or the TopSpeed one), into
userspace (udev, please note that HAL is now deprecated), has been on my
TODO list for quite a long time.
But there has unfortunately always been something more important, so I
have been quite sluggish with this.
If you'd be submitting your changes for BTC to udev, it would be cool if
you could do the same for other drivers we now have in kernel, so that
they could be removed one day.
Otherwise I'll do it hopefully soon, I will push it in my TODO a little
bit higher as a new-year's resolution :)
Thanks,
--
Jiri Kosina
SUSE Labs, Novell Inc.
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH] HID: driver for BTC "Emprex 3009URF III Vista MCE Remote" quirky remote
2010-01-02 2:53 ` Dmitry Torokhov
@ 2010-01-02 9:52 ` Wayne Thomas
0 siblings, 0 replies; 16+ messages in thread
From: Wayne Thomas @ 2010-01-02 9:52 UTC (permalink / raw)
To: Dmitry Torokhov; +Cc: jkosina, linux-input, linux-kernel
Hi Dmitry,
On Sat, Jan 2, 2010 at 3:53 AM, Dmitry Torokhov
<dmitry.torokhov@gmail.com> wrote:
> Hi Wayne,
>
> On Thu, Dec 31, 2009 at 09:13:22AM +0100, Wayne Thomas wrote:
>> HID: driver for BTC "Emprex 3009URF III Vista MCE Remote" quirky remote
>>
>> The Behavior Tech. Computer Corp. (BTC) remote branded as "Emprex 3009URF III
>> Vista Remote Controller" uses non-standard mappings for all of its 'special
>> purpose' keys (0xffbc usage page). Applies cleanly to 2.6.30 and 2.6.32
>> (other versions not tested).
>> scripts/scriptpatch.pl reports 13 styling errors in hid-btc.c
>> ("break;" should be on trailing lines)
>> but have not changed them to maintain styling consistency with existing drivers.
>>
>
> I believe that this kind of mapping adjustment can be done via UDEV/HAL
> key remapping facilities, without need for the kernel patch.
>
> Thanks.
>
> --
> Dmitry
>
I'll look into what you have suggested. The issue is identical to
that of the TopSeed remote, which is why I used this method. If this
is the case I assume that the topseed driver (and any others) should
also be removed?
Cheers
Wayne
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH] HID: driver for BTC "Emprex 3009URF III Vista MCE Remote" quirky remote
@ 2010-01-02 9:52 ` Wayne Thomas
0 siblings, 0 replies; 16+ messages in thread
From: Wayne Thomas @ 2010-01-02 9:52 UTC (permalink / raw)
To: Dmitry Torokhov; +Cc: jkosina, linux-input, linux-kernel
Hi Dmitry,
On Sat, Jan 2, 2010 at 3:53 AM, Dmitry Torokhov
<dmitry.torokhov@gmail.com> wrote:
> Hi Wayne,
>
> On Thu, Dec 31, 2009 at 09:13:22AM +0100, Wayne Thomas wrote:
>> HID: driver for BTC "Emprex 3009URF III Vista MCE Remote" quirky remote
>>
>> The Behavior Tech. Computer Corp. (BTC) remote branded as "Emprex 3009URF III
>> Vista Remote Controller" uses non-standard mappings for all of its 'special
>> purpose' keys (0xffbc usage page). Applies cleanly to 2.6.30 and 2.6.32
>> (other versions not tested).
>> scripts/scriptpatch.pl reports 13 styling errors in hid-btc.c
>> ("break;" should be on trailing lines)
>> but have not changed them to maintain styling consistency with existing drivers.
>>
>
> I believe that this kind of mapping adjustment can be done via UDEV/HAL
> key remapping facilities, without need for the kernel patch.
>
> Thanks.
>
> --
> Dmitry
>
I'll look into what you have suggested. The issue is identical to
that of the TopSeed remote, which is why I used this method. If this
is the case I assume that the topseed driver (and any others) should
also be removed?
Cheers
Wayne
--
To unsubscribe from this list: send the line "unsubscribe linux-input" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
^ permalink raw reply [flat|nested] 16+ messages in thread
* Re: [PATCH] HID: driver for BTC "Emprex 3009URF III Vista MCE Remote" quirky remote
2009-12-31 8:13 ` Wayne Thomas
(?)
@ 2010-01-02 2:53 ` Dmitry Torokhov
2010-01-02 9:52 ` Wayne Thomas
-1 siblings, 1 reply; 16+ messages in thread
From: Dmitry Torokhov @ 2010-01-02 2:53 UTC (permalink / raw)
To: Wayne Thomas; +Cc: jkosina, linux-input, linux-kernel
Hi Wayne,
On Thu, Dec 31, 2009 at 09:13:22AM +0100, Wayne Thomas wrote:
> HID: driver for BTC "Emprex 3009URF III Vista MCE Remote" quirky remote
>
> The Behavior Tech. Computer Corp. (BTC) remote branded as "Emprex 3009URF III
> Vista Remote Controller" uses non-standard mappings for all of its 'special
> purpose' keys (0xffbc usage page). Applies cleanly to 2.6.30 and 2.6.32
> (other versions not tested).
> scripts/scriptpatch.pl reports 13 styling errors in hid-btc.c
> ("break;" should be on trailing lines)
> but have not changed them to maintain styling consistency with existing drivers.
>
I believe that this kind of mapping adjustment can be done via UDEV/HAL
key remapping facilities, without need for the kernel patch.
Thanks.
--
Dmitry
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH] HID: driver for BTC "Emprex 3009URF III Vista MCE Remote" quirky remote
@ 2009-12-31 8:13 ` Wayne Thomas
0 siblings, 0 replies; 16+ messages in thread
From: Wayne Thomas @ 2009-12-31 8:13 UTC (permalink / raw)
To: jkosina, linux-input; +Cc: linux-kernel
HID: driver for BTC "Emprex 3009URF III Vista MCE Remote" quirky remote
The Behavior Tech. Computer Corp. (BTC) remote branded as "Emprex 3009URF III
Vista Remote Controller" uses non-standard mappings for all of its 'special
purpose' keys (0xffbc usage page). Applies cleanly to 2.6.30 and 2.6.32
(other versions not tested).
scripts/scriptpatch.pl reports 13 styling errors in hid-btc.c
("break;" should be on trailing lines)
but have not changed them to maintain styling consistency with existing drivers.
Signed-off-by: Wayne Thomas <waynethomas69@gmail.com>
diff -uprN linux/drivers/hid/hid-btc.c linux-working/drivers/hid/hid-btc.c
--- linux/drivers/hid/hid-btc.c 1970-01-01 01:00:00.000000000 +0100
+++ linux-working/drivers/hid/hid-btc.c 2009-12-13 13:41:34.000000000 +0100
@@ -0,0 +1,75 @@
+/*
+ * HID driver for BTC Emprex remote
+ *
+ * Copyright (c) 2009 Wayne Thomas
+ * based on hid-topseed driver
+ */
+
+/*
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ */
+
+#include <linux/device.h>
+#include <linux/hid.h>
+#include <linux/module.h>
+
+#include "hid-ids.h"
+
+#define btc_map_key_clear(c) hid_map_usage_clear(hi, usage, bit, max, \
+ EV_KEY, (c))
+static int btc_input_mapping(struct hid_device *hdev, struct hid_input *hi,
+ struct hid_field *field, struct hid_usage *usage,
+ unsigned long **bit, int *max)
+{
+ if ((usage->hid & HID_USAGE_PAGE) != 0x0ffbc0000)
+ return 0;
+
+ switch (usage->hid & HID_USAGE) {
+ case 0x00d: btc_map_key_clear(KEY_MEDIA); break;
+ case 0x024: btc_map_key_clear(KEY_MENU); break;
+ case 0x048: btc_map_key_clear(KEY_TV2); break;
+ case 0x025: btc_map_key_clear(KEY_TV); break;
+ case 0x047: btc_map_key_clear(KEY_MP3); break;
+ case 0x049: btc_map_key_clear(KEY_CAMERA); break;
+ case 0x04a: btc_map_key_clear(KEY_VIDEO); break;
+ case 0x050: btc_map_key_clear(KEY_RADIO); break;
+ case 0x05b: btc_map_key_clear(KEY_RED); break;
+ case 0x05c: btc_map_key_clear(KEY_GREEN); break;
+ case 0x05d: btc_map_key_clear(KEY_YELLOW); break;
+ case 0x05e: btc_map_key_clear(KEY_BLUE); break;
+ case 0x05a: btc_map_key_clear(KEY_TEXT); break;
+ default:
+ return 0;
+ }
+
+ return 1;
+}
+
+static const struct hid_device_id btc_devices[] = {
+ { HID_USB_DEVICE(USB_VENDOR_ID_BTC, USB_DEVICE_ID_BTC_EMPREX_REMOTE) },
+ { }
+};
+MODULE_DEVICE_TABLE(hid, btc_devices);
+
+static struct hid_driver btc_driver = {
+ .name = "btc",
+ .id_table = btc_devices,
+ .input_mapping = btc_input_mapping,
+};
+
+static int btc_init(void)
+{
+ return hid_register_driver(&btc_driver);
+}
+
+static void btc_exit(void)
+{
+ hid_unregister_driver(&btc_driver);
+}
+
+module_init(btc_init);
+module_exit(btc_exit);
+MODULE_LICENSE("GPL");
diff -uprN linux/drivers/hid/hid-core.c linux-working/drivers/hid/hid-core.c
--- linux/drivers/hid/hid-core.c 2009-12-03 04:51:21.000000000 +0100
+++ linux-working/drivers/hid/hid-core.c 2009-12-13 13:44:19.000000000 +0100
@@ -1290,6 +1290,7 @@ static const struct hid_device_id hid_bl
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY) },
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY) },
{ HID_USB_DEVICE(USB_VENDOR_ID_BELKIN, USB_DEVICE_ID_FLIP_KVM) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_BTC, USB_DEVICE_ID_BTC_EMPREX_REMOTE) },
{ HID_USB_DEVICE(USB_VENDOR_ID_CHERRY, USB_DEVICE_ID_CHERRY_CYMOTION) },
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_TACTICAL_PAD) },
{ HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_CYPRESS_BARCODE_1) },
diff -uprN linux/drivers/hid/hid-ids.h linux-working/drivers/hid/hid-ids.h
--- linux/drivers/hid/hid-ids.h 2009-12-03 04:51:21.000000000 +0100
+++ linux-working/drivers/hid/hid-ids.h 2009-12-13 13:45:06.000000000 +0100
@@ -113,6 +113,9 @@
#define USB_VENDOR_ID_BERKSHIRE 0x0c98
#define USB_DEVICE_ID_BERKSHIRE_PCWD 0x1140
+#define USB_VENDOR_ID_BTC 0x046e
+#define USB_DEVICE_ID_BTC_EMPREX_REMOTE 0x5578
+
#define USB_VENDOR_ID_CH 0x068e
#define USB_DEVICE_ID_CH_PRO_PEDALS 0x00f2
#define USB_DEVICE_ID_CH_COMBATSTICK 0x00f4
diff -uprN linux/drivers/hid/Kconfig linux-working/drivers/hid/Kconfig
--- linux/drivers/hid/Kconfig 2009-12-03 04:51:21.000000000 +0100
+++ linux-working/drivers/hid/Kconfig 2009-12-13 13:46:58.000000000 +0100
@@ -80,6 +80,13 @@ config HID_BELKIN
---help---
Support for Belkin Flip KVM and Wireless keyboard.
+config HID_BTC
+ tristate "BTC Emprex remote control support" if EMBEDDED
+ depends on USB_HID
+ default y
+ ---help---
+ Say Y if you have a BTC Emprex remote control.
+
config HID_CHERRY
tristate "Cherry" if EMBEDDED
depends on USB_HID
diff -uprN linux/drivers/hid/Makefile linux-working/drivers/hid/Makefile
--- linux/drivers/hid/Makefile 2009-12-03 04:51:21.000000000 +0100
+++ linux-working/drivers/hid/Makefile 2009-12-13 13:48:21.000000000 +0100
@@ -22,6 +22,7 @@ endif
obj-$(CONFIG_HID_A4TECH) += hid-a4tech.o
obj-$(CONFIG_HID_APPLE) += hid-apple.o
obj-$(CONFIG_HID_BELKIN) += hid-belkin.o
+obj-$(CONFIG_HID_BTC) += hid-btc.o
obj-$(CONFIG_HID_CHERRY) += hid-cherry.o
obj-$(CONFIG_HID_CHICONY) += hid-chicony.o
obj-$(CONFIG_HID_CYPRESS) += hid-cypress.o
^ permalink raw reply [flat|nested] 16+ messages in thread
* [PATCH] HID: driver for BTC "Emprex 3009URF III Vista MCE Remote" quirky remote
@ 2009-12-31 8:13 ` Wayne Thomas
0 siblings, 0 replies; 16+ messages in thread
From: Wayne Thomas @ 2009-12-31 8:13 UTC (permalink / raw)
To: jkosina, linux-input; +Cc: linux-kernel
HID: driver for BTC "Emprex 3009URF III Vista MCE Remote" quirky remote
The Behavior Tech. Computer Corp. (BTC) remote branded as "Emprex 3009URF III
Vista Remote Controller" uses non-standard mappings for all of its 'special
purpose' keys (0xffbc usage page). Applies cleanly to 2.6.30 and 2.6.32
(other versions not tested).
scripts/scriptpatch.pl reports 13 styling errors in hid-btc.c
("break;" should be on trailing lines)
but have not changed them to maintain styling consistency with existing drivers.
Signed-off-by: Wayne Thomas <waynethomas69@gmail.com>
diff -uprN linux/drivers/hid/hid-btc.c linux-working/drivers/hid/hid-btc.c
--- linux/drivers/hid/hid-btc.c 1970-01-01 01:00:00.000000000 +0100
+++ linux-working/drivers/hid/hid-btc.c 2009-12-13 13:41:34.000000000 +0100
@@ -0,0 +1,75 @@
+/*
+ * HID driver for BTC Emprex remote
+ *
+ * Copyright (c) 2009 Wayne Thomas
+ * based on hid-topseed driver
+ */
+
+/*
+ * This program is free software; you can redistribute it and/or modify it
+ * under the terms of the GNU General Public License as published by the Free
+ * Software Foundation; either version 2 of the License, or (at your option)
+ * any later version.
+ */
+
+#include <linux/device.h>
+#include <linux/hid.h>
+#include <linux/module.h>
+
+#include "hid-ids.h"
+
+#define btc_map_key_clear(c) hid_map_usage_clear(hi, usage, bit, max, \
+ EV_KEY, (c))
+static int btc_input_mapping(struct hid_device *hdev, struct hid_input *hi,
+ struct hid_field *field, struct hid_usage *usage,
+ unsigned long **bit, int *max)
+{
+ if ((usage->hid & HID_USAGE_PAGE) != 0x0ffbc0000)
+ return 0;
+
+ switch (usage->hid & HID_USAGE) {
+ case 0x00d: btc_map_key_clear(KEY_MEDIA); break;
+ case 0x024: btc_map_key_clear(KEY_MENU); break;
+ case 0x048: btc_map_key_clear(KEY_TV2); break;
+ case 0x025: btc_map_key_clear(KEY_TV); break;
+ case 0x047: btc_map_key_clear(KEY_MP3); break;
+ case 0x049: btc_map_key_clear(KEY_CAMERA); break;
+ case 0x04a: btc_map_key_clear(KEY_VIDEO); break;
+ case 0x050: btc_map_key_clear(KEY_RADIO); break;
+ case 0x05b: btc_map_key_clear(KEY_RED); break;
+ case 0x05c: btc_map_key_clear(KEY_GREEN); break;
+ case 0x05d: btc_map_key_clear(KEY_YELLOW); break;
+ case 0x05e: btc_map_key_clear(KEY_BLUE); break;
+ case 0x05a: btc_map_key_clear(KEY_TEXT); break;
+ default:
+ return 0;
+ }
+
+ return 1;
+}
+
+static const struct hid_device_id btc_devices[] = {
+ { HID_USB_DEVICE(USB_VENDOR_ID_BTC, USB_DEVICE_ID_BTC_EMPREX_REMOTE) },
+ { }
+};
+MODULE_DEVICE_TABLE(hid, btc_devices);
+
+static struct hid_driver btc_driver = {
+ .name = "btc",
+ .id_table = btc_devices,
+ .input_mapping = btc_input_mapping,
+};
+
+static int btc_init(void)
+{
+ return hid_register_driver(&btc_driver);
+}
+
+static void btc_exit(void)
+{
+ hid_unregister_driver(&btc_driver);
+}
+
+module_init(btc_init);
+module_exit(btc_exit);
+MODULE_LICENSE("GPL");
diff -uprN linux/drivers/hid/hid-core.c linux-working/drivers/hid/hid-core.c
--- linux/drivers/hid/hid-core.c 2009-12-03 04:51:21.000000000 +0100
+++ linux-working/drivers/hid/hid-core.c 2009-12-13 13:44:19.000000000 +0100
@@ -1290,6 +1290,7 @@ static const struct hid_device_id hid_bl
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_FOUNTAIN_TP_ONLY) },
{ HID_USB_DEVICE(USB_VENDOR_ID_APPLE, USB_DEVICE_ID_APPLE_GEYSER1_TP_ONLY) },
{ HID_USB_DEVICE(USB_VENDOR_ID_BELKIN, USB_DEVICE_ID_FLIP_KVM) },
+ { HID_USB_DEVICE(USB_VENDOR_ID_BTC, USB_DEVICE_ID_BTC_EMPREX_REMOTE) },
{ HID_USB_DEVICE(USB_VENDOR_ID_CHERRY, USB_DEVICE_ID_CHERRY_CYMOTION) },
{ HID_USB_DEVICE(USB_VENDOR_ID_CHICONY, USB_DEVICE_ID_CHICONY_TACTICAL_PAD) },
{ HID_USB_DEVICE(USB_VENDOR_ID_CYPRESS, USB_DEVICE_ID_CYPRESS_BARCODE_1) },
diff -uprN linux/drivers/hid/hid-ids.h linux-working/drivers/hid/hid-ids.h
--- linux/drivers/hid/hid-ids.h 2009-12-03 04:51:21.000000000 +0100
+++ linux-working/drivers/hid/hid-ids.h 2009-12-13 13:45:06.000000000 +0100
@@ -113,6 +113,9 @@
#define USB_VENDOR_ID_BERKSHIRE 0x0c98
#define USB_DEVICE_ID_BERKSHIRE_PCWD 0x1140
+#define USB_VENDOR_ID_BTC 0x046e
+#define USB_DEVICE_ID_BTC_EMPREX_REMOTE 0x5578
+
#define USB_VENDOR_ID_CH 0x068e
#define USB_DEVICE_ID_CH_PRO_PEDALS 0x00f2
#define USB_DEVICE_ID_CH_COMBATSTICK 0x00f4
diff -uprN linux/drivers/hid/Kconfig linux-working/drivers/hid/Kconfig
--- linux/drivers/hid/Kconfig 2009-12-03 04:51:21.000000000 +0100
+++ linux-working/drivers/hid/Kconfig 2009-12-13 13:46:58.000000000 +0100
@@ -80,6 +80,13 @@ config HID_BELKIN
---help---
Support for Belkin Flip KVM and Wireless keyboard.
+config HID_BTC
+ tristate "BTC Emprex remote control support" if EMBEDDED
+ depends on USB_HID
+ default y
+ ---help---
+ Say Y if you have a BTC Emprex remote control.
+
config HID_CHERRY
tristate "Cherry" if EMBEDDED
depends on USB_HID
diff -uprN linux/drivers/hid/Makefile linux-working/drivers/hid/Makefile
--- linux/drivers/hid/Makefile 2009-12-03 04:51:21.000000000 +0100
+++ linux-working/drivers/hid/Makefile 2009-12-13 13:48:21.000000000 +0100
@@ -22,6 +22,7 @@ endif
obj-$(CONFIG_HID_A4TECH) += hid-a4tech.o
obj-$(CONFIG_HID_APPLE) += hid-apple.o
obj-$(CONFIG_HID_BELKIN) += hid-belkin.o
+obj-$(CONFIG_HID_BTC) += hid-btc.o
obj-$(CONFIG_HID_CHERRY) += hid-cherry.o
obj-$(CONFIG_HID_CHICONY) += hid-chicony.o
obj-$(CONFIG_HID_CYPRESS) += hid-cypress.o
^ permalink raw reply [flat|nested] 16+ messages in thread
end of thread, other threads:[~2010-04-20 18:29 UTC | newest]
Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2010-02-27 11:32 [PATCH] HID: driver for BTC "Emprex 3009URF III Vista MCE Remote" quirky remote Ben Hardill
2010-03-15 16:03 ` Jiri Kosina
2010-03-17 19:18 ` Wayne Thomas
2010-03-18 10:51 ` Jiri Kosina
2010-03-18 11:00 ` Jiri Kosina
2010-03-18 20:03 ` Wayne Thomas
2010-04-20 18:29 ` Wayne Thomas
-- strict thread matches above, loose matches on Subject: below --
2009-12-31 8:13 Wayne Thomas
2009-12-31 8:13 ` Wayne Thomas
2010-01-02 2:53 ` Dmitry Torokhov
2010-01-02 9:52 ` Wayne Thomas
2010-01-02 9:52 ` Wayne Thomas
2010-01-02 21:25 ` Jiri Kosina
2010-01-02 21:25 ` Jiri Kosina
2010-01-18 10:33 ` Wayne Thomas
2010-02-17 15:20 ` Jiri Kosina
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.