Link to home
Start Free TrialLog in
Avatar of trs28
trs28

asked on

keyboard wedge input problem via Citrix client v6.20.985

I work for a software company that developed a biometric solution that allows customers to integrate biometric identification into any software package (by matching the fingerprint to a unique user id number).   It acts as a keyboard wedge, so essentially, if someone places their finger on the biometric device and a match is found, that person's user id will be entered into the field.  

We have a potential customer that uses an application hosted through a Citrix client (v6.20.984).  If the keyboard is used to type in the number, everything works fine ... the number appears in the application as it should.  If the user places their finger on the biometric reader, and a match is found, nothing happens.  Our application shows that they identified successfully, but the id never gets passed through Citrix to the application.   To keep our system completely independent from any application it may be used with, we just fill the keyboard buffer.  I attached a snippet below demonstrating how we're going about this.  Keep in mind, we do our development using Borland C++ .... hopefully the snippet will make sense though to those that don't live in Borland land.

Does anybody have ANY idea why the Citrix client is looking at the data from the keyboard buffer differently when entered via the keyboard versus our software which just simulates each keystroke through code?!?!?
keyed_event(keychar, 0, 0, 0);                   //key down
keyed_event(keychar, 0, KEYEVENTF_KEYUP, 0);     //key up

Open in new window

Avatar of matrixnz
matrixnz

Hi trs28

Not a guru in this department, however our staff capture a lot of data from balances using keyboard wedge software via com ports, I'm going to assume yours is similar, now I asked the vendor if we could run it on our Terminal Servers, his reply was, yes you can however he instructed us that we must map the com ports on the dumb terminals or computers to virtual com ports on the server.  We did and it worked fine

Hope that information helps.

Cheers
Avatar of trs28

ASKER

I appreciate the post martixnz  ... however, if it were a problem with terminal services, i wouldn't have had that issue licked in minutes ... i do not have any experience with the Citrix client.  The real exciting part is that Citrix provides no support for this particular client whatsoever.  

Thanks for the idea anyway though!

- Travis
Hi Travis

The Citrix Client is basically RDP except with more options, so if you can get it going with Terminal Server than Citrix should work also , is the biometric device a serial device or PS2, USB..

Cheers
Avatar of trs28

ASKER

Well, to be honest with you, I'm limited with the Citrix side of the problem being that it's part of the client's system, and unfortunately, they contract in all of their IT work.  That, along with the fact that I've got very limited exposure with Citrix at all, leads me to believe that changing options within the Citrix client would not be in my best interest.  

I've just done a bunch of testing with a USB over Ethernet redirector though and that may be a suitable solution.   Though, it does raise other issues with identification from multiple biometric devices with how the software is currently designed, so I'd much rather figure out why our software's code initiated keystrokes aren't seen the same as if a user is physically pressing the keys on the keyboard.

These are USB biometric devices (as I'm sure you've already picked up on above).   I may take a look at your idea though ... just to see how straight forward might or might not be.

Thanks!
ASKER CERTIFIED SOLUTION
Avatar of trs28
trs28

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial