Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Virtual Keyboard #1691

Closed
ArtyP opened this issue May 20, 2016 · 27 comments
Closed

Virtual Keyboard #1691

ArtyP opened this issue May 20, 2016 · 27 comments

Comments

@ArtyP
Copy link

ArtyP commented May 20, 2016

Hello,
I'm currently supporting CEFSharp app. After updating from version 39 to 49 virtual keyboard does not appear any more. I have read all issues I had found and tried all possible combinations of them . No success.
The list of workarounds I have tried:

Then I have installed Visual Studio on tablet, build a WinForms example 49. But keyboard still does not appear. My question is, what should I do to make keyboard appear in this simple example.

System:

  • Lenovo miix 3 1030
  • CefSharp version 49.0
  • x86
  • Win10
  • WinForms

Steps will reproduce:
Start CefSharp.WinForms.Example on tablet.

In cefclient (from http://cefbuilds.com) keyboard works properly.

@amaitland
Copy link
Member

Then I have installed Visual Studio on tablet, build a WinForms example 49. But keyboard still does not appear. My question is, what should I do to make keyboard appear in this simple example.

Does the problem reproduce in 47.0.4? You might be better to rollback a version.

In cefclient (from http://cefbuilds.com) keyboard works properly.

Did you explicitly use 3.2623.1396?

@amaitland
Copy link
Member

Also make sure you don't have a physical keyboard plugged in when testing.

@ArtyP
Copy link
Author

ArtyP commented May 23, 2016

Thanx for your help. After rollback to 47.0.4 my project works perfectly fine for me.
In CefSharp.WinForms.Example you need to set FocusHandler to null. Otherwise virtual keyboard appears but keypress does not work.
Should we close the issue?

@amaitland amaitland changed the title Virtual Keyborad Virtual Keyboard May 23, 2016
@amaitland amaitland added this to the 51.0.0 milestone May 23, 2016
@amaitland
Copy link
Member

Should we close the issue?

I will assign this to the 51.0.0 milestone, I'll let you know when a test build is available. If you have time I'd appreciate if you could re-test.

@ArtyP
Copy link
Author

ArtyP commented May 23, 2016

Sure.

@amaitland
Copy link
Member

The master branch has been upgraded to CEF 2704.1415 which is based on Chromium 51.0.2704.63. If you have time to download the source and test this out that would be much appreciated.

A -pre release based on this version will likely be released in the next couple of weeks.

@amaitland
Copy link
Member

@ArtyP 51.0.0-pre01 packages are on Nuget.org, appreciate if you could test them out.

@amaitland amaitland modified the milestones: 53.0.0, 51.0.0 Jul 17, 2016
@martin-k
Copy link

We are developing a kiosk solution using Windows 10 and CefSharp but we have the same problem with the touch keyboard not appearing in 49 and 51. We tried downgrading to version 47 hoping that would fix it, but no luck. When using a Chrome browser, the keyboard appears.
So we are wondering: Are we even initialising CEF correctly? What are the required settings in CEF for making the onscreen keyboard appear?

@amaitland
Copy link
Member

We are developing a kiosk solution using Windows 10 and CefSharp but we have the same problem with the touch keyboard not appearing in 49 and 51. We tried downgrading to version 47 hoping that would fix it, but no luck.

Your using WinForms? If your using WPF then that's a totally different issue.

When using a Chrome browser, the keyboard appears.

It's not relevant to compare to Chrome in this instance, see https://github.com/cefsharp/CefSharp/blob/master/CONTRIBUTING.md#cefsharp-vs-chromium-embedded-frameworkcef

What are the required settings in CEF for making the onscreen keyboard appear?

There are none, CefSharp has no control, it's just a wrapper. It either works or it doesn't.

@martin-k
Copy link

Its a WinForms project.
So if I understand you correctly I should be looking for solutions on the CEF forums instead? Sorry for posting in this thread then, it just sounded exactly like our problem. You can delete these comments if you wish.

@amaitland
Copy link
Member

So if I understand you correctly I should be looking for solutions on the CEF forums instead?

If you can reproduce the problem using cefclient then the bug will need to be resolved in CEF. I don't have a touch screen, so someone else needs to take responsibility for this issue.

@amaitland amaitland modified the milestones: 55.0.0, 53.0.0 Sep 15, 2016
@amaitland amaitland removed this from the 55.0.0 milestone Oct 24, 2016
@Geevo
Copy link
Contributor

Geevo commented Nov 7, 2016

I have had this issue all the way back to v41 being the last known working version for my kiosks.
As I desperately needed to upgrade and move forward on to v53 to use more newly exposed APIs I created a workaround using the RegisterAsyncJsObject to inject an "addEventListener" for "touchstart" (touch only events) on common input types, to start the tabtip.exe process manually. Although it may not be the best practical solution but it works for myself and could prove useful to others using Cefsharp.
However I'm fairly new to github and if someone points me where I can provide an example I'd be more than happy to share my workaround.

@amaitland
Copy link
Member

Someone experiencing this problem should test with the examples provided in #1748 It's possible that integrating into your applications existing message loop will resolve this issue.

@mismaiel62
Copy link

Hi,
I am using CefSharp 58.0.0-CI2289 in my app and Virtual Keyboard doesn't appear on clicking any editable box in my app on tablet.
Anyone have solution to this problem?

@hahrens
Copy link

hahrens commented Aug 20, 2017

After a long time of looking for a solution, i finally found one that works for me and bring up the onscreen-keyboard as expected. Found it in a Youtube-Video:
Add "disable-usb-kyboard-detect=1" as CommandLine-Argument

        CefSettings settings = new CefSettings();
        settings.CefCommandLineArgs.Add("disable-usb-keyboard-detect", "1");
        Cef.Initialize(settings);

This brings up the Windows OnScreen-Keyboard every time i touch into an input field. Tested with Cef v47.0.4 and installed Chrome v60.0.3112.101.

@mismaiel62
Copy link

mismaiel62 commented Aug 29, 2017

@hahrens Thanks mate.
worked perfectly fine for me.

Otherwise, I was launching keyboard process through JS (which is extra headache and degrades the performance also) before your solution.

Thumps up (Y)

@amaitland
Copy link
Member

Tested with the latest MinimalExample which is based on version 65 and it's working correctly on my Surface Pro 1 running Windows 10. Those experiencing issues should use the disable-usb-keyboard-detect command line argument.

https://github.com/cefsharp/CefSharp.MinimalExample

@avzuylen
Copy link

Hello, I'm using version 69. The onscreen keyboard correctly pops up when I touch an entry box. Problem is it ALSO pops up when I click in it with a mouse. I have tried 'disable-usb-keyboard-detect' set to '0' and '1' but no effect. Does anyone know a solution?

@amaitland
Copy link
Member

It's a known issue with Chrome version 69, the only option I'm aware of is to downgrade for the time being, it's resolved in version 70, so the fix will be included in the next CefSharp release which will be version 71.

Search the Google product forms if you like, I was never able to find a working solution and just had to live with the problem.

@avzuylen
Copy link

Thanks, I have downgraded to version 65.0.1 where it works fine.
It also works ok with version 67.0.0 but there I have the problem that session cookies are not cleared on exit (is this a known problem as well?). So I just stick to 65.0.1 for the time being.

@kafka-yu
Copy link

kafka-yu commented Jan 17, 2019

Hello @avzuylen

Thanks, I have downgraded to version 65.0.1 where it works fine.
It also works ok with version 67.0.0 but there I have the problem that session cookies are not cleared on exit (is this a known problem as well?). So I just stick to 65.0.1 for the time being.

I tried on CEF 68, but it seems doesn't work....

@amaitland
Copy link
Member

71.0.0-pre01 is out, you should try upgrading.

@akhudairy
Copy link

Tried it on 84.1.1 but it is not working for me

@fotoguy42
Copy link

fotoguy42 commented Mar 28, 2022

Just tested with the MinimalExample on 99.2.90 and it does not work the majority of the time on a Surface Go original. I did get the keyboard to pop up once while randomly scrolling and tapping, and then the keyboard would popup regardless of if a text field had focus.
Tested with the cefclient and tapping text fields does work.

@amaitland
Copy link
Member

Tested with the cefclient and tapping text fields does work.

Did you test with the command line args listed at https://github.com/cefsharp/CefSharp/blob/master/CONTRIBUTING.md#cefsharp-vs-chromium-embedded-frameworkcef

cefclient.exe --multi-threaded-message-loop --no-sandbox

@amaitland
Copy link
Member

Please confirm you've tested the workaround listed at #1691 (comment)

@simonbuehler
Copy link

same issue with 101 in a kiosk winforms app.
i also tried the usb workaround but didn't help, any ideas?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests