FPS Virtual Keyboard for Windows Forms


On-Screen Virtual Keyboard for Windows Forms with customizable layouts and languages, a number of predefined themes.

Inbuilt Windows Forms keyboard support is essential to ensure a user-friendly interface in a number of applications. This is especially true when it comes to applications running on touch screen terminals, such as POS systems. The integration of an onscreen virtual keyboard can even be used to enhance Windows Forms based desktop applications. FPS Virtual Keyboard is a virtual keyboard control that can be used by developers to provide virtual keyboard support in their Windows Forms applications.

The keyboard control functions like a Windows embedded keyboard, enabling users to input text into the current active dialog. It can be integrated as a user control in any application.

Windows Forms virtual keyboard

The product is also accompanied by a powerful layout manager, the FPS Keyboard Creator. The tool enables users to create custom layouts, allowing support for the different languages available on their system. Different languages are included in the package, allowing it to be loaded by FPS Keyboard Creator or directly within the Virtual Keyboard control.

virtual keyboard software for Windows Forms

This product installer includes samples that demonstrate all the features of the product, including the use of custom themes.

For a preview of the FPS Virtual Keyboard for Windows Forms as part of an application, the standalone WEB Touch application is available for download here.

Check more about WebTouch

Product Screenshots (Click to enlarge)

Licensing & Pricing

SKU Limitation Source Code Price
Trial Expires after 21 days No Free!
Developer License None! No $199 USD
Site License None! No $899 USD
Enterprise License None! No $1499 USD
Blueprint License None! Yes! $2899 USD

Key Features

Predefined Languages
From FPS Virtual Keyboard v 1.3 any language that is added to user Windows settings can be automatically generated on runtime. Also users can add their own custom language layouts by adding a new XML file into Layouts folder. Now it can be done by FPS Keyboard Creator tool that is supplied with any license of this product.
    List of Languages supported :
  • AR Arabic 101 (Bahrain)
  • AR Arabic 101 (Egypt)
  • AR Arabic 101 (Iraq)
  • AR Arabic 101 (Jordan)
  • AR Arabic 101 (Kuwait)
  • AR Arabic 101 (Lebanon)
  • AR Arabic 101 (Oman)
  • AR Arabic 101 (Qatar)
  • AR Arabic 101 (Saudi Arabia)
  • AR Arabic 101 (Syria)
  • AR Arabic 101 (UAE)
  • AR Arabic 101 (Yemen)
  • AR Arabic 102 AZERTY (Algeria)
  • AR Arabic 102 AZERTY (Libya)
  • AR Arabic 102 AZERTY (Marocco)
  • AR Arabic 102 AZERTY (Tunisia)
  • BE Belorussian (Belorus)
  • BG Bolgarian (Bolgaria)
  • BN Bengal (India)
  • BS Bosnian Cyrilik (Bosnia and Herzegovina)
  • BS Bosnian Latin (Bosnia and Herzegovina)
  • CA Catalan
  • CS Czech (Czech Republic)
  • CS Czech (Czech Republic) Czeck (QWERTY)
  • CS Czech (Czech Republic) Czeck programmers
  • CY British (Bratain)
  • CY Welsh (Bratain)
  • DA Danish (Denmark)
  • DE German (Austria)
  • DE German (Germany) German
  • DE German (Germany) German (IBM)
  • DE German (Liechtensein)
  • DE German (Luxembourg)
  • EL Greek 220 (Greece)
  • EL Greek 220 Latin (Greece)
  • EL Greek 319 (Greece)
  • EL Greek 319 Latin (Greece)
  • EL Greek Latin (Greece)
  • EL Greek (Greece)
  • EL Greek Politonik (Greece)
  • EN English International (USA)
  • EN English (Australia)
  • EN English (Belize)
  • EN English (Canada)
  • EN English (Caribbean)
  • EN English (Ireland)
  • EN English (Ireland) Gaelic
  • EN English (Jamaica)
  • EN English (New Zealand)
  • EN English (Philippines)
  • EN English (South Africa)
  • EN English (South Africa)
  • EN English (USA)
  • EN English (Zimbabwe)
  • EN English British (UK)
  • EN English Drovak (Belize)
  • EN English Drovak (USA)
  • EN English Drovak Left Hand (USA)
  • EN English Drovak Right Hand (USA)
  • EN English Irish (Ireland)
  • ES Spanish (Argentina)
  • ES Spanish (Bolivia)
  • ES Spanish (Chile)
  • ES Spanish (Colombia)
  • ES Spanish (Costa Rica)
  • ES Spanish (Dominican Republic)
  • ES Spanish (Ecuador)
  • ES Spanish (El Salvador)
  • ES Spanish (Guatemala)
  • ES Spanish (Honduras)
  • ES Spanish (International)
  • ES Spanish (Mexico)
  • ES Spanish (Nicaragua)
  • ES Spanish (Panama)
  • ES Spanish (Paraguay)
  • ES Spanish (Peru)
  • ES Spanish (Puerto Rico)
  • ES Spanish (Spaine) Traditional
  • ES Spanish (Uruguay)
  • ES Spanish (Venezuela)
  • ET Estonian (Estonia)
  • EU Euskaldunak (Euskadi)
  • Fi Finnish (Finland) Finnish
  • Fi Finnish (Finland) Finnish with Sami
  • FR French (Belgium) Belgian French
  • FR French (Canada) Canadian French
  • FR French (Canada) Canadian French (Legasy))
  • FR French (Canada) Canadian Multilingual Standard
  • FR French (France)
  • FR French (Switzerland) Swiss French
  • FR French (Switzerland) Swiss German
  • FY Frisian (Netherlands)
  • HE Hebrew (Israel)
  • HI Hindi (India)
  • HR Croatian (Bosnia and Herzegovina)
  • HR Croatian (Croatia)
  • HU Hungarian (Hungary) Hungarian
  • HU Hungarian (Hungary) Hungarian 101-key
  • HY Armenian Eastern (Armenia)
  • HY Armenian Western (Armenia)
  • IN Indonesian (Indonesia)
  • IS Icelandic (Iceland)
  • IT Italian (Italy)
  • IT Italian (Italy) 142
  • IT Italian (Swiss)
  • IU Inuktitut (Canada) Latin
  • KA Georgian (Georgia)
  • KA Greenlandic (Greenland)
  • LB Luxembourgian (Luxembourg)
  • LT Lithuanian (Lithuania)
  • LT Lithuanian IBM (Lithuania)
  • LV Latvian QWERTY (Latvia)
  • LV Latvian (Latvia)
  • MK Macedonian FYROM (Macedonia)
  • ML Maltese 47 (Malta)
  • ML Maltese 48 (Malta)
  • MY Malayalam (India)
  • NE Nepali (Nepal)
  • NL Dutch (Belgian) Comma
  • NL Dutch (Netherlands)
  • NO Norwegian Soomy (Norway)
  • NO Norwegian (Norway)
  • NO Norwegian NewNorsk (Norway)
  • PA Pashto (Afhghanistan)
  • PL Polish (Poland)
  • PL Polish Programmers (Poland)
  • PT Portuguese (Brasil)
  • PT Portuguese (Portugal)
  • PT Portuguese ABNT(Brasil)
  • RO Romanian (Romania)
  • RU Russian (Russia)
  • SK Slovak (Slovakia)
  • SK Slovak QWERTY (Slovakia)
  • SL Slovenian (Slovenia)
  • SM Sami lul (Sweden)
  • SQ Albanian (Albania)
  • SR Serbian Cerilik (Serbia)
  • SR Serbian Latin (Serbia)
  • SV Sweden (Sweden)
  • TH Thai Kedmanee
  • TH Thai Kedmanee without SHIFTLOCK
  • TH Thai Patashot
  • TH Thai Patashot without SHIFTLOCK
  • TR Turkish F (Turkey)
  • TR Turkish Q (Turkey)
  • UA Ukrainian (Ukraine)
  • VI Vietnamese (Vietnam)
Themes Support
8 Predefined themes with custom styled window are supported:
  • Office Blue
  • Silver
  • Black
  • Orange
  • Green
  • Vista (non transparent)
  • MAC Skin
  • Media Player 10
New themes will be available in future versions of the product.
Custom Themes
Users can create custom themes by defining styles of buttons and other parts. Please investigate working sample of how to make it work.
Visual Studio 2008 and Expression Blend
Fully supported by Microsoft Visual Studio 2008 and Expression Blend
Visual Studio 2010 Support
Support of latest Visual Studio is added with samples and solutions included within installation package.
Support and Updates
The product will be supported for a period of 12 months following the purchase. Updates such as bug fixes, major and minor updates will be released periodically.
No Royalties
Royalty free. Can be freely used in all applications.

Additional Services

Custom Development
We can provide consulting services regarding these WPF components to develop custom applications using them. Please fill this Form in order to allow us to evaluate your request.
Component Development
If you have any specific requirements to add to these components, please fill this Form in order to allow us to evaluate your request.

Release Notes

  • 4.3.6
    Fixed problem in standalone mode when keyboard get focus on itself after starting. Added ability ​to change language in foreground window in other process. Fixed problem with ​top most window​​: standalone keyboard hides behind other windows​.
  • 4.3.4
    Fixed: Visual issue with disappearing hover state of keys. CapsLock, NumLock, ScrollLock keys states, Added ability to change CurrentCulture property when "language" button has been pressed. Added ability to handle language changing from outside of virtual keyboard component.
  • 4.3.1
    Updated functionality of key events, removing extra events of system keys.
  • 4.3.0
    • Updated functionality of events of the keys
    • Removed the extra calls of system keys
    • Fixed work of custom styles of the VirtualKeyboard
    • Fixed loading of themes of the VirtualKeyboard
  • 4.2.0
    Fixed issue with trial period notification
  • 4.1.0
    • Installer adopted for Windows 8 and Windows 8.1
    • Performance and rendering improvements
    • Fixed minor layout bugs and tweaks
    • Changed key sending functionality
    • Removed: Control ,Shift,Alt Alt Gr lock properties from key and made them as obsolete
    • Changed key creation and key sending strategy (now for Send @ you do not need set Shift Key Lock for "2" key, you just need set In Content Property "@" ), also we support old approach
    • Keyboard Creator: bug fixing (Crash when do "Run Test" ), made changes for new key creation strategy.
  • 4.0.0
    • DefaultLayout property - is now marked as obsolete, new property TemplateLayout
    • Fixed minor layout bugs and tweaks
    • Added support of Visual Studio 2012
    • Added support of custom images to supply in WPF and Windows Forms version. That works via Keyboard editor as well
    • .NET 4.5 version is now available for WPF Keyboard
  • 2.4.5
    Buttons Flickering issue has been fixed
  • 2.4.4
    • Added FPS.LicenseValidator.ShowTrialWindow property to show or not Trial Key Window when keyboard in trial period. True is default value. if trial period is expired this parameter will be ignored.
    • Minor issues fixed
  • 2.4.3
    Added new Property "AutoFill" this option generate keyboard depends on language layout (qwerty ,azerty etc...) if tis property is false your keyboard cannot distinguish (qwerty ,azerty layouts).
  • 2.4.2
    A bug was fixed, after change of keyboard language it does not switch automatically, had to move mouse. Now it proceeds automatically
  • 2.4.1
    Fixed issue with blank buttons when using custom layouts.
  • 2.4.0
    • Fixed layouts for differents languages like French or German qwerty, qwertz, azerty variations.
    • DefaultLayoutProperty - Use this property for custom layout. In VK Creator define common view of keyboard. VK carry on RegularKey by itself (qwerty, or azerty) will be auto generated.
    • Mode - Added This dependency property has 3 state "Default" ,"Extended" and "Custom" mode, first state generate default layout , second extendend layout last mode use for custom layouts e.g Set "LayoutFolder" property to define directory path where layouts will be located or set "LayoutTemplate" property to define common view for keyboard layout if you use "Custom" mode VK use "LayoutTemplate" first if it is null than load keyboard from directory "LayoutFolder" property
    • Removed Serializer class. Now Keyboard layout class carry on loading layout from stream "Create" method
  • 2.3.0
    Fixed French layout issue with Caps Lock State
  • 2.2.3
    Added CurrentCulture Property that forces change of keyboard language
  • 2.2.2
    • Fixes with language change Buttons and Virtual Keyboard Creator were implemented - now all languages are recognized (previously in certain cases unique IDs were recognized rather than language name)
  • 2.2.1
    • Special Symbols fixes for Belgium language layout implemented
    • Special Symbols fixes for French language layout implemented
    • Special Symbols fixes for German language layout implemented
  • 2.2.0
    • Minor fixes from previous version
    • Fix implemented to resolve issues caused by some Windows API command calls, AltGr issue found and fixed for languages and layouts that use it, such as Belgium layout, thanks for reporting the issue.
    • Updated detailed technical and functional description was also added. HowToUse.pdf file provides the answers to frequently asked Questions.
  • 2.1.0
    • All default layouts now are integrated into the Virtual Keyboard component. It now includes most of the world’s languages and dialects being added into Windows operating systems.
    • CanUnlockSpecialKey - new feature and Virtual keyboard property, should be used in order to have keyboard maintain a special control state pressed after some combination, like Alt, Shift, Ctrl
    • Added more samples regarding Dynamic calls : SendKey method that can be used to emulate the key press event
    • Added sample with more textboxes and fade in /out of virtual keyboard, as requested by customers
FPS Virtual Keyboard for Windows Forms
Pricing starts from $199 USD
Do you have a question or feedback?
We want to hear it! learn more
Keep Informed
FPS Components can email you when new products and updates are made available. learn more
Knowledge Base
Want to know more? Check our Knowledge Base.
Secure payments
All transactions on the website are done via 2Checkout with high safety and operational security.