Description:

A virtual keyboard for touch-screen application

Virtual Keyboard for touch-screen devices written in C/C++ Qt, compatible for Qt 4.x and 5.x The widget works with QLineEdit, but you can modify it for your convenience.

Features:

click sound buttons
copy/cut and paste facility
echo password facility
dynamic keyboard layout based on selected language
move around textbox using TAB or directly click on a textbox (require subclassing as in the provided example)
Dual mode keyboard: large and small
zoom facility for pressed keys

Supported Languages:

Arabic
English
French
German
Italian
Russian

We appreciate any donation since this will be used to improve or better support this project.

Have a nice day
Last changelog:

1 year ago

A new resynch of code was required since during the transfer of the code to github something went wrong resulting in a strange language localization.
Now the code is up-to-date and it seems to work well.
Please let me know if you have any problem

smratijohri

1 year ago

hello, i want a virtual keyboard for qnx, so i tried your code, i am unable to build it on QtCreator, version i am using is 3.6.0 and platform is windows.
error:'QClipboard' does not name a type. its showing error in Qt files itself. can you please guide me on the same. I really need a virtual keyboard for qnx in my project.
thanks
Smrati

Report

AlterX

1 year ago

Hi,
that is really strange since I am used to compile on windows using QtCreator 3.6
I think you have a problem with your Qt installation. Remove and reinstall it again should fix the problem

Report

alirezatkh2

1 year ago

hi. thanks for your code. I want to use both english and french layouts and change them with a push button. do you have any idea what should I do?
is it easy or a complex code?

Report

AlterX

1 year ago

Hello...
that is feasible. I think you have to dynamically load Translation spefying the ts file and then refreshing of the QPushButton
There are a lot of example outthere on how to do this.

Report

alirezatkh2

1 year ago

Thanks for soon answer.

I'm on it now. but I don't know how refresh or update the widgetKeyBoard! by which codes can I refresh it?

Report

AlterX

1 year ago

I just released a new version that is capable to change keyboard layout dynamically based on the selected language

Report

alebaroni86

1 year ago

Hi,
I'm using Qt Creator 3.5.1 built on Qt 5.5.1 on Linux Ubuntu 14.04 LTS. I've t add a virtual keyboard to my HMI project, adding float value and text to DoubleSpinBox and TextEdit elememts; actually i'm not able to add this project to mine and i'd like to know if i can add it to Qt's project with 5.5.1 version. Is it compatible?

Thanks

Alessio

Report

AlterX

1 year ago

Hi Alessio,
I didn't get it, sorry.
Since we are both italians, please contact me in private.

Report

HoMS

1 year ago

First thanks for your great keyboard.
In a little testproject i implemented it and it worked fine. but in my actual project i declared and initialized the keyboard in my main class and passed it to an instance of another class. show and hide is working as expected but the keyboard is not taking any input. do you have an idea what can be the reason? if needed i could send you my actual project.
Greetings

Report

AlterX

1 year ago

Hello,
the only things I can think about are:
1. you are writing, but there is no real textbox with focus
2. you are blocking the main loop thread

Send me the code so I can better understand the problem

Report

JorgeIII

1 year ago

Hello,
First of all, tahnk you for the great code you provided. It was exactly what I was looking for. I have already implemented it and it works great. The thing is, I am looking to modify the focus of the line edit without having to press the virtual keyboard's TAB key. I saw how you did that in the example provided bye creating a new class "ExampleMyFocus". My question is: Is there a way to do the same function as this class without having to create it? Creating it would mean that I would have to modify each and every line edit I already have in my program, and I think there is a better solution that I am failing to find.
Thanks in advance, and great work on the code.

Report

AlterX

1 year ago

Hello,
I just released new code with small improvements. The only suggestion I can give to you, if I correctly understood your question, is to use "promotion of widget" on QLineEdit with class uses focus. I changed the example to show how it works.
The only inconvenience you have to do manually on all QLineEdit in the ui designer (but the instance you want to promote to will be done only once).

Report

JorgeIII

1 year ago

Thanks!
I completely forgot about Widget promotion! Let me implement the changes and use the updated code too. Thanks again for the reply.

Report

AlterX

2 years ago

I found an old version bundled with Qt 5.x code. Since it is very old and not supported, you have to compare code to check for fixed bugs or new features. This is the best I can do!

Report

jastmc

2 years ago

I am using this as a keypad and it works great.

However I cannot use it from two different classes in the same app. I set up one keypad to enter a PIN in the first class and that works fine.
When I set up another keypad in another class in order to enter data in the second class, the keypad comes up blank - there are no keys in the keypad.

How can I get around this?

Regards,
James

Report

AlterX

2 years ago

It is very strange this behaviour since the object is reentrant and so different instance can live all together...anyway I don't know your code, just try to create one global instance and change it when needed.

Report

mrwallyit

2 years ago

Hello,

good application. If i change QlinetEdit with Tab or Return works correctly, if i push the lineedit the focus is changed but i see the preceding lineedit that blinks( i wrote a lot of char).

Thanks
My Best regards

Report

Robinson0

3 years ago

Thanks for your sharing ,firstly.I have a problem ,when i make it with Qt4.7 ,it happens an error:QGuiApplication,no such file or directory.Is not it supports Qt4?

Report

AlterX

3 years ago

Hi,
no actually it doesn't support Qt 4.x.
You need to do some changes in order to get worked; some hints (from the virtualkeyboard Qt 5.x code):
1. QtGuiApplication -> QApplication
2. toUtf8() -> toAscii() - (optional)
3. erase "widgets" module from .pro
4. other stuff

Report

Robinson0

3 years ago

3Q,i will have a try.

Report

arges

4 years ago

Very nice job. Thanks.
However, I have a little problem in my application on ARM9 board.
It works with QDialog widget. But, When the button layout is changed,

for example; setStylesheet ("QDialogButtonBox {button-layout: 1}")

the Application terminates without an error message. Why ?
I can't catch the error
Would you be help.

Report

AlterX

4 years ago

Hi thanks...Really I don't know why that happen to you...Have you tried to comment that line? Please try it on desktop to see if happen on it too.

Report

edup

4 years ago

Hi,

Thanks again for your time. But what are you saying only works if the other window is made with qt. This not works with notepad or firefox or even the calculator right?

Thanks

Report

AlterX

4 years ago

My suggestions using win api, therefore it works for all native windows other then qt system (that is based on win api)

Report

vidya2027

28 days ago

hi edup,
I am facing the same problem as yours, virtual keyboard to write any active window. so did you get the solution if yes then please share the snippet. thanks in advance.

Report

1 year ago

A new resynch of code was required since during the transfer of the code to github something went wrong resulting in a strange language localization.
Now the code is up-to-date and it seems to work well.
Please let me know if you have any problem

Filename Version Description Filetype Packagetype License Downloads Date Filesize Install
Score 77%
77.00 Likes
23 Dislikes
Details
version
2016.01
updated Jan 08 2017
added Jun 23 2009
downloads
page views 8287