On windows 10 mobile (UWP), the (windows built in)virtual keyboard, which pops up as soon as you focus a textinput element, does not change the screensize, and therefor overlap my input element.
Is there a possibilty, to
1. connect to an event like keyboard open/close
2. get the height of the virtual keyboard
Or any other workaround?
I fixed it by using getting the inputmethod Object with QGuiApplication::inputMethod(); , connect its to visibleChanged() signal
and then request the Rectangle with keyboardRectangle();
Related
On my arm embedded device with a touchscreen, I have a 3rd party program (program A), that creates a window which handle keyboard presses. Because of that, this window always has to have focus. This is a closed source, and I do not have options to modify it.
I need to create a window in linux, that never grabs focus. It just shows an image, some times full screen. However, I have options not to make it full screen (1 pixel less, so window below is visible.).
Right now, I am using only X server, but I can install (almost) any window manager.
Is there a way to create a window in X, that never gets focus? If I understand X correctly, a window bellow mouse will get focus.
Is there a window manager, which supports such feature?
Is this possible to do with with xcb or wayland?
On Wayland, it's up to the compositor to tell the client whether it has focus or not, and which surface(s) to send key events to. So it would depend on the compositor or compositor toolkit you're using if it's possible.
KWin has an option that sounds like it does what you want. Right click the window title bar and choose more actions -> special window settings -> accept focus
Of the compositor toolkits, I only know the Qt Wayland Compositor API, and with that it should be possible (assuming your application can run as a Wayland client). The easiest thing would be to just show the image in the compositor using the QML APIs, or you could set enabled: false on the WaylandQuickItem or ShellSurfaceItem that you don't want to grab input focus.
The virtual keyboard in the simulator is not showing when I focus on a text field.
It showed the first time I clicked inside the text field but subsequent clicks in the text field do not bring up the virtual keyboard.
This is happening for the IPhone 6 to iPhone X simulators.
I'm using Visual Studio Mac.
It would appear the simulator detected my Macs keyboard, so it no longer shows the virtual keyboard.
How can I fix this so that the virtual keyboard shows whenever I interact with a control that accepts text input.
Solution
In the top menu bar of the simulator I had to turn "Connect Hardware Keyboard" off.
I got there by going to Hardware -> Keyboard -> Connect Hardware Keyboard
I built a cross platform application to run it on Android. I use a TEdit to get the numbers and a Label to show the result of the calculation.
(This function is already running).
Is there any way to show a calculator keyboard whenever I click into to an TEdit object?
It shouldnt just pop-up like a second form I built in.
Set the TEdit.KeyboardType property to either TVirtualKeyboardType.NumbersAndPunctuation or TVirtualKeyboardType.NumberPad as needed. When the user gives focus to the TEdit, it will display the OS's standard virtual keyboard in the appropriate layout.
When I open the Chrome debug view and set the device to "iPad Mini" to simulate its screen size (and touch events), interacting with a text input causes the Windows on-screen keyboard to open.
This computer is not a tablet, and has never had a touch screen. In the Windows Ease of Access -> Keyboard settings Turns on the On-Screen Keyboard is off.
I can only assume that Chrome "simulating" an iPad Mini is causing Windows to think there's a touchscreen. I've been using this feature for a few months now, and the keyboard opening only started happening recently. I may have simply flipped a switch in the settings (of Chrome or Windows) on accident. If that's the case, I'd like to know how to flip it back!
This is frustrating because I have to close the keyboard each time as it covers up a large portion of the web-app.
The same page without the "iPad Mini" simulation does not open the keyboard:
(This keyboard also opens when choosing any device that has a touch screen, not just iPad Mini.)
Chrome doesn't emulate the keyboards of the device profiles you pick. An image of a keyboard will show for certain ones, like the iPhone 5X, but it is non-functional and is just present to allow you to see how the various elements on the page respond to the keyboard. You can see my answer here for more details on viewing that. However, this is not the same keyboard you are seeing.
It looks as though there is something in Windows, which is triggering the on-screen keyboard. I'm not sure why it would still appear if you have it disabled, but you could try a couple of things, based on what I've found online:
Make sure 'Touch Keyboard and Handwriting Panel Service' is set to disabled in Services (services.msc)
SetLOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Authentication\LogonUI\ ShowTabletKeyboard from value 1 to 0 (regedit.exe)
Check there is no other 3rd party software running, which may affect your keyboard behaviour.
I am doing a project to control mouse events by hand gestures using opencv in linux. I am able to control the mouse pointer with my hand movements.
I have achieved counting the number of fingers in the hands. I want to trigger mouse events depending upon the number of fingers shown. In windows there is a function mouse_event. But i am working in linux.
If there is any function for click events in opencv(linux) please let me know. Also help me with the header files to be included for those functions.
Thanks in advance!!
You can use Xlib library for handling mouse events in Linux environment. Xlib is an XWindow System protocol library. It contains functions for interacting with an X server. Main advantage of using Xlib in you project is that, you can handle mouse events globally( throughout the desktop, or in other window, not locally in your application window ).
Check out Xlib-MouseClick.
Just call the function mouseClick() in your program with argument -
0 - for left click,
1 - for middle click, and
2 - for right click, at current position of mouse pointer.