Click here to Skip to main content
Click here to Skip to main content

KeyWedge: a serial port to keyboard message connector

By , 4 Jan 2010
Rate this:
Please Sign up or sign in to vote.

This tool is for mobile computers to fill keyboard buffer with data from a serial port. This is often needed to get serial port connected barcode scanner’s data into applications if there is no other way.

[Content transfered from]

This is a simple keywedge program. It takes serial input and simulates keystrokes with the chars received. It has been done, as the ITC(1) CN3 does not support a serial wedge but the vehicle dock has a serial port where you can connect a cabled serial barcode scanner. Similar commercial applications are ceLinq and TWedgeCE.


Just copy the exe onto your device and you are done. You can also prepare a CAB file yourself and pre-configure the options. KeyWedge uses the following settings from the registry.

The registry options


;               0  NOPARITY
;               1  ODDPARITY
;               2  EVENPARITY
;               3  MARKPARITY
;               3  SPACEPARITY
;               0  ONESTOPBIT
;               1  ONE5STOPBITS
;               2  TWOSTOPBITS
;        7
;        8
;       16
;       1       Xon/Xoff
;       2       Hardware
;       3       None
;         9600
;        19200
;        38400
;        57600
;       115200
;       string with trailing :

;       1       send  byte for byte as received
;       0       send  keys when \n received

Download reg file: DOWNLOAD:KeyWedge Sample Registry File -

Starting KeyWedge

Just tap the exe with file explorer or place a link in \Windows\Programs and tap the symbol then in Start-Programs. As started. keywedge will not show a normal window, just an icon on the today screen. If you like KeyWedge to start with every boot, place a shortcut into the \Windows\StartUp folder.

keywedge on today screen

As long as KeyWedge has a connection to the serial port, it will show a green icon on the today screen.

As long as the application window is open and you are setting the options, KeyWedge suspends the communication and will show a yellow icon on the today screen!

If the icon on the today screen is showing red, then keywedge is unable to connect to the serial port.


To configure keywedge, tap the sysmbol on the today screen. You will get a message box.
Tap [No] to get access to the keywedge window.

If you select [Yes], keywedge exits and stops running.
If you select [Cancel] the window is closed and keywedge resumes its communication thread.

In keywedge window select File-Options to get access to the options dialog. Here you can type the communication port to be used and specify the communication parameters.

keywedge options access keywedge options screen

If you activate ‘Send Char by Char’, keywedge will send every char received by the comm port immediately as keytrokes.

If ‘Send Char by Char’ is deactivated, keywedge sends the chars received via the comm port as soon as it encounters a \n char (a newline char) or when the buffer limit is reached (actually 1000 bytes),

When you are done setting your options, tap [OK] in the options dialog. The settings will be shown in a message box and saved in the registry. Tap again (OK) to close the message box.

If you don’t like to change the settings, tap [Cancel] in the options dialog. The settings will then not been changed.

To resume the comm thread and to have KeyWegde doing its work, you have to select File-Hide.

keywedge hide to activate

As long as the KeyWedge window is not hidden, KeyWedge will NOT do any comm work!

If you like to end KeyWedge, select File-Exit.

Version 1.3:

Changed the background threads so you should be able to let the tool AutoStart. Removed obsolete msgbox.

Download executable only: DOWNLOAD:KeyWedge ARMv4i - The KeyWedge executable for ArmV4i (thumb) compatible Windows Mobile devices

Download Source code: DOWNLOAD:KeyWedge Embedded Visual C 4 Source Code -

(1) ITC is itc

<!-- Social Bookmarks BEGIN --> <!-- Social Bookmarks END -->


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

About the Author


Germany Germany
No Biography provided

Comments and Discussions

-- There are no messages in this forum --
| Advertise | Privacy | Mobile
Web03 | 2.8.140421.2 | Last Updated 4 Jan 2010
Article Copyright 2010 by hjgode
Everything else Copyright © CodeProject, 1999-2014
Terms of Use
Layout: fixed | fluid