I am to old... I thought you were talking 80 or (the smaller) 96 column
cards! ... Many of those readers put out EBCDIC instead of ASCII.
But as always, I digress into ancient history when mainframes roamed the
earth.

Now that I am past the 20th century in my thinking, what flavor of card
reader are you using?  How is it connected?

On Sun, Aug 30, 2015 at 8:19 PM, Tilghman Lesher <[email protected]>
wrote:

> Sounds like what you're talking about is that the device is acting as
> a keyboard wedge -- that is, it's inserting a stream of characters
> into the keyboard buffer, probably through its device driver.  I have
> a magnetic card reader here that works in precisely the same way.
>
> The long and short of it is that your program would need to be running
> in the foreground; that is, having its stdin being supplied by the
> console.  Probably the best way to do this in Linux on boot would be
> to have your program run directly from init, associated with tty1, NOT
> background itself, and as long as the machine stays on that terminal
> device (and it should), your program should get all keyboard input
> directly from stdin (fd 0).
>
>
> On Sun, Aug 30, 2015 at 8:01 PM, Curt Lundgren <[email protected]> wrote:
> > I'm working on a program for a Raspberry Pi (one of the cool new ones
> with
> > the quad-core CPU and a gigabyte of RAM).  The program will run as a
> daemon
> > and this unit is headless - there's no keyboard plugged in.  Just a USB
> > Mifare HID card reader that outputs 8 hex characters when a card is in
> > proximity, then an 'Enter.'
> >
> > It's actually outputting scan codes, but I figure I can convert them to
> the
> > appropriate hex codes.
> >
> > I understand if I was running on the console, tapping a card on the
> reader
> > would cause the hex string to be input wherever my cursor is.  I'd love
> to
> > be able to redirect that input to my program, but I'm clueless on how
> that's
> > done.  My google-fu isn't working for me here either.
> >
> > The card reader does show up as /dev/input/event0 and if I cat that, it
> > outputs a bunch of binary stuff.  I can send it to a file and a hex dump
> of
> > part of that file looks like this:
> >
> > 00000000: eba1 e355 6032 0600 0400 0400 2700 0700  ...U`2......'...
> > 00000010: eba1 e355 6032 0600 0100 0b00 0100 0000  ...U`2..........
> > 00000020: eba1 e355 6032 0600 0000 0000 0000 0000  ...U`2..........
> > 00000030: eba1 e355 7251 0600 0400 0400 2700 0700  ...UrQ......'...
> > 00000040: eba1 e355 7251 0600 0100 0b00 0000 0000  ...UrQ..........
> > 00000050: eba1 e355 7251 0600 0000 0000 0000 0000  ...UrQ..........
> > 00000060: eba1 e355 ad70 0600 0400 0400 1f00 0700  ...U.p..........
> > 00000070: eba1 e355 ad70 0600 0100 0300 0100 0000  ...U.p..........
> > 00000080: eba1 e355 ad70 0600 0000 0000 0000 0000  ...U.p..........
> > 00000090: eba1 e355 e48f 0600 0400 0400 1f00 0700  ...U............
> > 000000a0: eba1 e355 e48f 0600 0100 0300 0000 0000  ...U............
> > 000000b0: eba1 e355 e48f 0600 0000 0000 0000 0000  ...U............
> > 000000c0: eba1 e355 26af 0600 0400 0400 2400 0700  ...U&.......$...
> > 000000d0: eba1 e355 26af 0600 0100 0800 0100 0000  ...U&...........
> > 000000e0: eba1 e355 26af 0600 0000 0000 0000 0000  ...U&...........
> > 000000f0: eba1 e355 64ce 0600 0400 0400 2400 0700  ...Ud.......$...
> > 00000100: eba1 e355 64ce 0600 0100 0800 0000 0000  ...Ud...........
> > 00000110: eba1 e355 64ce 0600 0000 0000 0000 0000  ...Ud...........
> >
> > Don't know if the formatting will display properly, but I've bolded a few
> > bytes.  The 0x27 is '0' and we see keypress and key release.  This is
> > followed by 0x1F (2) and 0x24 (7) - we march through the rest of the
> string
> > and finally arrive at the 0x28 Enter key:
> >
> > 00000300: eba1 e355 3626 0800 0400 0400 2800 0700  ...U6&......(...
> > 00000310: eba1 e355 3626 0800 0100 1c00 0100 0000  ...U6&..........
> > 00000320: eba1 e355 3626 0800 0000 0000 0000 0000  ...U6&..........
> > 00000330: eba1 e355 9145 0800 0400 0400 2800 0700  ...U.E......(...
> > 00000340: eba1 e355 9145 0800 0100 1c00 0000 0000  ...U.E..........
> > 00000350: eba1 e355 9145 0800 0000 0000 0000 0000  ...U.E..........
> >
> > I don't pretend to understand scan codes, but 48 bytes for keypress and
> > another 48 for key release?  Seems excessive, but it can be handled.  The
> > hex 0x01 below the scan code is keypress, the 0x00 below the other scan
> > codes is key release.
> >
> > Questions:  Can this data be grabbed from some convenient place in the
> OS,
> > preferably as a nice 8-character string?  What does the OS do with HID
> input
> > when the Pi is running headless?  The current plan says there will never
> be
> > a real keyboard plugged in, just the card reader.
> >
> > Does anyone know what Linux does with input from an HID device when
> there's
> > no session running from the console?  Does it get intercepted by a login
> > screen?
> >
> > OS is Raspbian Wheezy, apparently version 7 on a 3.18.11 kernel.
> >
> > TIA
> >
> > Curt
> >
> > --
> > --
> > You received this message because you are subscribed to the Google Groups
> > "NLUG" group.
> > To post to this group, send email to [email protected]
> > To unsubscribe from this group, send email to
> > [email protected]
> > For more options, visit this group at
> > http://groups.google.com/group/nlug-talk?hl=en
> >
> > ---
> > You received this message because you are subscribed to the Google Groups
> > "NLUG" group.
> > To unsubscribe from this group and stop receiving emails from it, send an
> > email to [email protected].
> > For more options, visit https://groups.google.com/d/optout.
>
>
>
> --
> Tilghman
>
> --
> --
> You received this message because you are subscribed to the Google Groups
> "NLUG" group.
> To post to this group, send email to [email protected]
> To unsubscribe from this group, send email to
> [email protected]
> For more options, visit this group at
> http://groups.google.com/group/nlug-talk?hl=en
>
> ---
> You received this message because you are subscribed to the Google Groups
> "NLUG" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> For more options, visit https://groups.google.com/d/optout.
>



-- 
><> ... Jack

The Four Boxes of Liberty - "There are four boxes to be used in the defense
of liberty: soap, ballot, jury and ammo. Please use in that order."
"Whatever you do, work at it with all your heart"... Colossians 3:23
"Anyone who has never made a mistake, has never tried anything new." -
Albert Einstein
"You don't manage people; you manage things. You lead people." - Admiral
Grace Hopper, USN
"Tell me and I forget. Teach me and I remember. Involve me and I learn." -
Ben Franklin

-- 
-- 
You received this message because you are subscribed to the Google Groups 
"NLUG" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/nlug-talk?hl=en

--- 
You received this message because you are subscribed to the Google Groups 
"NLUG" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to