Click here to Skip to main content
16,022,336 members
Please Sign up or sign in to vote.
1.00/5 (2 votes)
I have worked on key wedge solution to detect text of barcode scanner device in visual studio c#. On this scenario the client has a desktop platform to use application to detect text from barcode scanner.

But problem arise when some clients are Linux or mac platform users.

So how should I create a universal key wedge for different platform users.

One option I tried was through browser JavaScript so that a browser could open which is present in every platform, but here when I minimize browser it did not work, the UI has to be present.

So my question is how to read barcode scanner text when UI is not in focus, UI can be minimize in state.

What are some working solutions for it, can a backend service work for this problem.


Any solution that can be a plausible solution.

What I have tried:

I tried to work with javascript but needs browser UI to be present to work.
Worked for desktop platform but require one solution for most platforms handling.
Posted
Updated 25-Jun-24 2:21am
v2

That's the problem with keyboard wedge scanners. If your UI is not shown, the keystrokes the scanner is sending go to whatever control current has the input focus.

If your browser or app is minimized, it cannot receive the keystrokes because minimized apps cannot have the input focus.

If you want that kind of functionality, you have to use a different scanner type that either works over either serial (serial over USB) or network interfaces.
 
Share this answer
 
v2
I hope you need to use ports
keywedge-a-serial-port-to-keyboard-message-connector/
and then connect using serial ports in chrome

Read from and write to a serial port  |  Capabilities  |  Chrome for Developers[^]

hope this sill solve your requirement
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900