Click here to Skip to main content
12,349,148 members (67,335 online)
Click here to Skip to main content
Add your own
alternative version


102 bookmarked

Onscreen Keyboard

, 21 Mar 2000
Rate this:
Please Sign up or sign in to vote.
An onscreen keyboard for pen computing and touchscreens
  • Download source files - 143 Kb

    Sample Image - OnscreenKeyboard.gif

    I needed a simple onscreen keyboard to interface with a touch / pen based computer that I bought through an online auction. Although Microsoft supplies one with its Pen Extensions 2.0 it only works win Win95 and I wanted to use NT.

    All of the available onscreen keyboards I found were either too expensive, or they were only designed to operate with 3.1 and 9x so (of course) I decided to see if I could make one. Along the way I learned a little about how the keyboard is handled, and the thread keyboard maps.

    Included with this article is a working, but simple, onscreen keyboard. I submitted it mostly as an example of the methods:

    • AttachThreadInput
    • keybd_event
    • VkKeyScan
    • GetKeyState

    This program has one nasty limitation, and that is that it "flashes" since it does not prevent the changing of focus to itself when clicked, and then back to the target window when the keystroke is generated. If someone wants to tackle that one please feel free Wink | ;-)

  • License

    This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

    A list of licenses authors might use can be found here


    About the Author

    Randy More
    United States United States
    No Biography provided

    You may also be interested in...

    Comments and Discussions

    brahmma9-May-07 7:55
    memberbrahmma9-May-07 7:55 
    QuestionCan we change initial size? Pin
    peterpecker10-Mar-06 5:43
    memberpeterpecker10-Mar-06 5:43 
    QuestionRe: Can we change initial size? Pin
    gidtitan21-Mar-07 10:06
    membergidtitan21-Mar-07 10:06 
    Generala better Onscreen Virtual keyboard Pin
    Ilanbm1-Mar-06 2:11
    memberIlanbm1-Mar-06 2:11 
    GeneralRe: a better Onscreen Virtual keyboard - Link Pin
    Ilanbm1-Mar-06 2:12
    memberIlanbm1-Mar-06 2:12 
    GeneralRe: a better Onscreen Virtual keyboard - Link Pin
    jmelgaard17-Jan-07 1:57
    memberjmelgaard17-Jan-07 1:57 
    GeneralTentative Enhancement Pin
    dickch20-Dec-05 13:19
    memberdickch20-Dec-05 13:19 
    QuestionRe: Tentative Enhancement Pin
    JYCiou5-Mar-06 14:20
    memberJYCiou5-Mar-06 14:20 
    QuestionRe: Tentative Enhancement Pin
    Homero De la Garza5-Aug-07 8:37
    memberHomero De la Garza5-Aug-07 8:37 
    GeneralRe: Tentative Enhancement Pin
    gidtitan21-Mar-07 10:07
    membergidtitan21-Mar-07 10:07 
    QuestionJapanese? Pin
    matsnas6-Dec-05 22:07
    membermatsnas6-Dec-05 22:07 
    GeneralTimer Pin
    simcon7-Jun-05 23:20
    susssimcon7-Jun-05 23:20 
    Generalexecute Pin
    Simon Potzkai29-May-05 23:58
    memberSimon Potzkai29-May-05 23:58 
    GeneralKill keyboard from another app Pin
    barnes1022@yahoo.com16-Feb-05 11:10
    memberbarnes1022@yahoo.com16-Feb-05 11:10 
    GeneralRe: Kill keyboard from another app Pin
    Dirk Moshage21-Feb-05 6:26
    memberDirk Moshage21-Feb-05 6:26 
    GeneralRe: Kill keyboard from another app Pin
    jbarnes102225-Feb-05 6:45
    memberjbarnes102225-Feb-05 6:45 
    GeneralUsing the Windows OSK Pin
    Alex Evans29-Jan-05 18:35
    memberAlex Evans29-Jan-05 18:35 
    GeneralRe: Using the Windows OSK Pin
    EjayBoy1-Aug-06 12:04
    memberEjayBoy1-Aug-06 12:04 
    GeneralRe: Using the Windows OSK Pin
    EjayBoy1-Aug-06 13:10
    memberEjayBoy1-Aug-06 13:10 
    GeneralDon't work on remote desktop logon window Pin
    yoslee20-Jan-05 21:11
    memberyoslee20-Jan-05 21:11 
    GeneralOnscreen Keyboard Internationalization Matter ... Pin
    Duranti Loris11-Jan-05 2:04
    sussDuranti Loris11-Jan-05 2:04 
    Generalabt OnScreen Keyboard Pin
    Tripura.K3-Dec-04 0:06
    memberTripura.K3-Dec-04 0:06 
    Generalabt OnScreen Keyboard Pin
    Anonymous2-Dec-04 22:31
    sussAnonymous2-Dec-04 22:31 
    GeneralCan't Compile Pin
    rajwsinder singh1-Dec-04 23:57
    memberrajwsinder singh1-Dec-04 23:57 
    GeneralRe: Can't Compile Pin
    EP70L-PGKDSG7-Dec-04 1:47
    memberEP70L-PGKDSG7-Dec-04 1:47 
    Generalhelp Pin
    davidorff16-Sep-04 22:37
    memberdavidorff16-Sep-04 22:37 
    GeneralRe: help Pin
    droppen1717-Apr-05 6:29
    memberdroppen1717-Apr-05 6:29 
    GeneralRe: help Pin
    cfo5ter5-Sep-06 12:24
    membercfo5ter5-Sep-06 12:24 
    Generalenquiry Pin
    davidorff12-Sep-04 20:46
    memberdavidorff12-Sep-04 20:46 
    GeneralRe: enquiry Pin
    Dirk Moshage14-Sep-04 5:20
    memberDirk Moshage14-Sep-04 5:20 
    GeneralRe: enquiry Pin
    davidorff14-Sep-04 21:15
    memberdavidorff14-Sep-04 21:15 
    GeneralI want to use on-screen keyboard for touch screen Pin
    misaaeshow29-Aug-04 23:56
    membermisaaeshow29-Aug-04 23:56 
    Generalvery slow when sending textt to MSN messenger text box Pin
    Anonymous11-Aug-04 19:59
    sussAnonymous11-Aug-04 19:59 
    GeneralRe: very slow when sending textt to MSN messenger text box Pin
    Anonymous28-Aug-04 11:22
    sussAnonymous28-Aug-04 11:22 
    GeneralESC get error! Pin
    Junee6-Apr-04 17:05
    memberJunee6-Apr-04 17:05 
    GeneralRe: ESC get error! Pin
    Jindor5-Oct-04 23:17
    memberJindor5-Oct-04 23:17 
    GeneralSuperficial Question.... Pin
    TeddyGraham6-Mar-04 14:51
    memberTeddyGraham6-Mar-04 14:51 
    GeneralAltGr Pin
    simcon24-Feb-04 20:28
    susssimcon24-Feb-04 20:28 
    GeneralRe: AltGr Pin
    altarribage7-Dec-05 4:17
    memberaltarribage7-Dec-05 4:17 
    GeneralFocus Problem and Flashing Pin
    Dirk Moshage20-Jan-04 12:59
    memberDirk Moshage20-Jan-04 12:59 
    GeneralRe: Focus Problem and Flashing Pin
    teloglu21-Mar-05 3:42
    memberteloglu21-Mar-05 3:42 
    GeneralGetting the keyboard to interact with windows editors Pin
    hynespm15-Oct-03 8:28
    memberhynespm15-Oct-03 8:28 
    GeneralProblem with inputbox Pin
    AlexMateman9-Oct-03 22:54
    memberAlexMateman9-Oct-03 22:54 
    GeneralRe: Problem with inputbox Pin
    Kadji23-Sep-04 22:02
    memberKadji23-Sep-04 22:02 
    QuestionDoes this code work under Win98/ME? Pin
    Oitz25-Mar-03 8:09
    memberOitz25-Mar-03 8:09 
    AnswerRe: Does this code work under Win98/ME? Pin
    jdunlap17-Jul-03 19:21
    memberjdunlap17-Jul-03 19:21 
    GeneralFlashing problem still unsolved!! Pin
    Mahbub7321-Jan-03 9:02
    memberMahbub7321-Jan-03 9:02 
    QuestionCan't fix the Bug with IE address bar? Pin
    Anonymous26-Sep-02 17:41
    sussAnonymous26-Sep-02 17:41 
    GeneralNice Work Pin
    Brian Delahunty21-Sep-02 7:16
    editorBrian Delahunty21-Sep-02 7:16 
    GeneralGreat! Pin
    Anonymous16-Sep-02 11:51
    sussAnonymous16-Sep-02 11:51 

    General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

    Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

    | Advertise | Privacy | Terms of Use | Mobile
    Web02 | 2.8.160621.1 | Last Updated 22 Mar 2000
    Article Copyright 2000 by Randy More
    Everything else Copyright © CodeProject, 1999-2016
    Layout: fixed | fluid