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

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

    Comments and Discussions

     
    Generalajka454 Pinprofessionalajka45426-Jan-14 22:00 
    Questioncomments Pinmembergraceman201217-Aug-12 19:28 
    Questionsendkey is sometimes failing PinmemberMember 815507614-Aug-12 2:35 
    QuestionI need help to port web based G7 onscreen-keypad to Windows Native application. [modified] PinmemberMember 815507611-Aug-12 1:16 
    QuestionHealth Pinmemberkate198321-Feb-12 1:48 
    QuestionGood sample PinmemberBaoSaka27-Jun-11 5:45 
    GeneralMy vote of 5 PinmemberChandru08021-Jun-11 20:01 
    Generalcan't run the source code manually Pinmembernoordiana21-Oct-10 4:38 
    GeneralOn Screen Keyboard - Korean PinmemberMember 31486272-Mar-10 8:55 
    Questiononscreen keyboard Pinmembersaranshs24-Oct-09 5:53 
    QuestionChording-like Keyboard like Onscreen Keyboard Pinmembermike spano5-Mar-09 10:33 
    Generaldisabled keyboard Pinmemberphantoms3316-Oct-08 15:42 
    QuestionFor Vb.NET 2005 .. 2.0 Pinmemberferozasi25-Mar-08 4:53 
    GeneralTo stop flashing PinmemberVibes8-May-07 18:04 
    Handle WM_MOUSEACTIVATE message and return MA_NOACTIVATE
     
    int COnscreenKeyboardDlg::OnMouseActivate(CWnd* pDesktopWnd, UINT nHitTest, UINT message)
    {
    return MA_NOACTIVATE;
     
    }
    GeneralRe: To stop flashing Pinmembercxcui5-Jun-07 9:28 
    GeneralRe: To stop flashing PinmemberMember 364201630-Jun-09 17:53 
    Questionvirtual keyboard using java PinmemberMember #37203626-Mar-07 6:47 
    AnswerRe: virtual keyboard using java Pinmemberakash214713-Jul-10 2:41 
    QuestionDaniel Pinmemberotaku191-Feb-07 22:56 
    QuestionI have a problem with the address bar Pinmemberarrodenas4-Nov-06 10:35 
    AnswerRe: I have a problem with the address bar Pinmemberstorein19-Dec-06 23:57 
    GeneralRe: I have a problem with the address bar Pinmemberarrodenas2-Jan-07 8:33 
    GeneralFixed the ESC key Pinmembercfo5ter5-Sep-06 12:31 
    GeneralRe: Fixed the ESC key Pinmemberstorein17-Dec-06 14:58 
    QuestionONSCREEN KEYBOARD Pinmemberraeesa4-Sep-06 3:47 

    General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    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 | Mobile
    Web01 | 2.8.140721.1 | Last Updated 22 Mar 2000
    Article Copyright 2000 by Randy More
    Everything else Copyright © CodeProject, 1999-2014
    Terms of Service
    Layout: fixed | fluid