Begin File: keyboard.tgz Description:graphical keyboard utility Keywords: keyboard Version: Entered-date: January 27, 1997 Author: Randy Martin Ported-by: Original-site: QNX Copying-policy: Free Supplemental: ÃÄGraphKey app_stub.pict inj.o stub ÃÄGraphKey.c app_stub.wnd keyboard_api.c stub.c ÃÄGraphKey.o dir.txt keyboard_api.o stub.o ÃÄPopKeyA.pict inj keyinject.h ÀÄPopKeyA.wnd inj.c readme Graphical Keyboard Utility: In many cases a keyboard is not desired for a windowing system. A mouse or touchscreen would then be required to input any text that an application needs (e.g. sign-on screen). These programs show how to inject keystrokes into the QNX Windows server ... it also brings up a keyboard window where the user can select keys (using mouse or touchscreen) and have them automatically 'injected' into an application. Some notes before we begin: - Keystroke injection into QNX Windows input buffer works for single byte characters only! It will not work for function keys, arrow keys etc. It is designed purely for alphanumeric characters. There are several programs required: GraphKey: This is the graphical keyboard process. It is created by an application (by using the 'display_keyboard(..)' function call contained in 'keyboard_api.c'. It uses a picture file (PopKeyA.pict) and a window file (PopKeyA.wnd). These can be modified as desired. The 'tag name' for each element in the picture file is the ASCII equivalent of the letter/number/punctuation char displayed. Compile the program as follows: cc GraphKey.c -o GraphKey -N5000 keyboard_api.c: This is the api module that is linked with an application that wants to use the graphical keyboard. Compile the program as follows: cc keyboard_api.c -c stub.c: A sample application that contains editable text fields. You need to link this program with the 'keyboard_api.o' file. Compile the program as follows: cc stub.c keyboard_api.o -o stub inj.c: A small program that shows how the keyboard injection is accomplished. Not required to run 'stub'. This module is provided as a simple demonstration only. Run 'stub' to see how it all works together. Final Note: These programs are provided as free software. QNX Software Systems has provided this software as a demonstration of the power of QNX Windows, and is not responsible for them. Please feel free to use these programs in any way you'd like. If anyone makes some changes and would like to offer the changes back to us, we would be interested in posting them. Send mail to 'randy@qnx.com' (or just 'randy' on QUICS) if you have more questions. Enjoy! archive contents: drwxrwxr-x 0 apkleywegt support Jan 27 09:41 keyboard -rwxr-xr-x 0 apkleywegt support 12208 Jul 14 10:42 keyboard/GraphKey -rw-r--r-- 0 apkleywegt support 7630 Jul 14 10:41 keyboard/GraphKey.c -rw-rw-r-- 0 apkleywegt support 4000 Jul 14 10:42 keyboard/GraphKey.o -rw-rw-r-- 0 apkleywegt support 3236 Jul 14 10:40 keyboard/PopKeyA.pict -rw-rw-r-- 0 apkleywegt support 546 Jul 14 10:40 keyboard/PopKeyA.wnd -rw-r--r-- 0 apkleywegt support 718 Jan 28 10:54 keyboard/app_stub.pict -rw-r--r-- 0 apkleywegt support 552 Jan 28 10:54 keyboard/app_stub.wnd -rwxrwxr-x 0 apkleywegt support 9357 Jul 8 15:39 keyboard/inj -rw-rw-r-- 0 apkleywegt support 1199 Jul 8 15:38 keyboard/inj.c -rw-rw-r-- 0 apkleywegt support 1604 Jul 8 15:39 keyboard/inj.o -rw-r--r-- 0 apkleywegt support 3605 Jul 14 11:35 keyboard/keyboard_api.c -rw-rw-r-- 0 apkleywegt support 2004 Jul 14 11:39 keyboard/keyboard_api.o -rw-r--r-- 0 apkleywegt support 2317 Jul 14 11:33 keyboard/keyinject.h -rw-r--r-- 0 apkleywegt support 2425 Jul 14 11:31 keyboard/readme -rwxr-xr-x 0 apkleywegt support 12168 Jul 14 11:39 keyboard/stub -rw-r--r-- 0 apkleywegt support 1271 Jul 13 09:44 keyboard/stub.c -rw-rw-r-- 0 apkleywegt support 1696 Jul 14 11:38 keyboard/stub.o End