Solved

keyboard wedge input problem via Citrix client v6.20.985

Posted on 2007-11-28
5
1,354 Views
Last Modified: 2008-05-17
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

0
Comment
Question by:trs28
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 3
  • 2
5 Comments
 
LVL 29

Expert Comment

by:matrixnz
ID: 20379626
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
0
 

Author Comment

by:trs28
ID: 20382108
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
0
 
LVL 29

Expert Comment

by:matrixnz
ID: 20385294
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
0
 

Author Comment

by:trs28
ID: 20385576
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!
0
 

Accepted Solution

by:
trs28 earned 0 total points
ID: 21533101
I have since been in contact with Citrix certified engineers .... rather than looking for values from the keyboard buffer, the citrix client actually watches the PS/2 port at the hardware level.   That ended up being my problem.
0

Featured Post

Free Tool: Path Explorer

An intuitive utility to help find the CSS path to UI elements on a webpage. These paths are used frequently in a variety of front-end development and QA automation tasks.

One of a set of tools we're offering as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Title # Comments Views Activity
Microsoft Licensing Questions 7 68
Why  my code (program) build with old compiler? 11 145
parameter pack in c++11 2 22
COM server issue 2 23
#Citrix #Internet Explorer #Enterprise Mode #IE 11 #IE 8
Citrix XenDesktop 7.6 Citrix Policies Disable Peripherals
The viewer will learn how to user default arguments when defining functions. This method of defining functions will be contrasted with the non-default-argument of defining functions.
The viewer will learn how to clear a vector as well as how to detect empty vectors in C++.

734 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question