Re: reading from HID keyboard [message #180512 is a reply to message #180509] |
Fri, 22 February 2013 22:29 |
Ben Barker
Messages: 5 Registered: October 2011
Karma:
|
Junior Member |
|
|
>
>
>
>> Hi,
>
>> I have a device that appears to my machine as a HID keyboard (though actually it is an RFID reader)
>
>>
>
>> I can read from it locally in php by using fopen("php://stdin",r)
>
>>
>
>> The problem is if I shell into this machine via ssh, then stdin comes from the remote keyboard, not from the local HID device, and the above does not return any data.
>
>>
>
>> I can read from /dev/input/by-id/<my device>
>
>>
>
>> But this returns a very large number of bytes that it is not immediately obvious how to decode
>
>>
>
>> Can anyone suggest a way forward here?
>
>
>
> It's hard to say without further information, but hazarding a guess,
>
> you are reading raw keyboard scan codes in the latter case. If I was
>
> in your situation, I'd look at the documentation for the device in
>
> question, and take it from there. If your documentation is lacking,
>
> try to look at the table of PS2 scan codes, and see if they match up
>
> with your input.
>
>
>
> http://www.computer-engineering.org/ps2keyboard/scancodes2.html
>
>
>
> --
>
> /Wegge
>
>
>
> Leder efter redundant peering af dk.*,linux.debian.*
Ah - a useful little program fro the repositories call "evtest" has helped sort things out.
It seems that the data consists of a series of bytes, and for every key press/ character generated there are 8 bytes produced
Event: time 1361571412.662329, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70027
Event: time 1361571412.662343, type 1 (EV_KEY), code 11 (KEY_0), value 1
Interspersed with
Event: time 1361571412.688401, -------------- SYN_REPORT ------------
It should be fairly easy to decode now :-)
|
|
|