|
Rank: Advanced Member Groups: Member
Joined: 2/15/2014 Posts: 52
|
Hi EO
I am using EO.WebBrowser 16.1.17.0 and trying out the virtual keyboard.
Below is my code BrowserOptions options = new BrowserOptions(); options.EnableWebSecurity = false; EO.WebBrowser.Runtime.SetDefaultBrowserOptions(options);
EO.WebBrowser.Runtime.RemoteDebugPort = 1234; EO.WebBrowser.Runtime.ExtraCommandLineArgs = "--touch-events"; EO.WebBrowser.Runtime.AllowProprietaryMediaFormats(); EO.WebBrowser.Runtime.AlwaysShowOnScreenKeyboardOnTouch = true;
After grabbing the window handle of the Windows Form, i navigated to facebook page to test if i can login with virtual keyboard when i touch the username and password fields (not using mouse).
but no virtual keyboard popped out. Am i missing something?
Hope to hear from you soon...
|
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,229
|
Hi,
Please check if the latest build resolves the issue for you. We did fix something related to virtual keyboard in build 17.0.53.
Thanks!
|
|
Rank: Advanced Member Groups: Member
Joined: 2/15/2014 Posts: 52
|
Hi
I tried the latest build as well after i posted as i have a feeling you will ask me to try the latest build and it is the same.
I am running the application on a Kiosk machine.
Can you try at your end? The code is as simple those code i pasted here and using LoadUrlAndWait function to load the facebook page, nothing fancy.
Thanks!
|
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,229
|
What OS do you use? We tested it here with Windows 10 by following these steps: 1. Add the following code to our TabbedBrowser sample application:
Code: C#
EO.WebEngine.Engine.Default.Options.AlwaysShowOnScreenKeyboardOnTouch = true;
Before new MainWindow(); 2. Run it, then type in facebook.com in the address bar and enter. Now touch any of the textbox field (we tested the landing page without logging in, where there are "Email or Phone" and "Password" textboxes, along with textboxes for sign up), the virtual keyboard would appear; Note that we did not set ExtraCommandLineArgs. Can you try the same and see if it works? Thanks
|
|
Rank: Advanced Member Groups: Member
Joined: 2/15/2014 Posts: 52
|
The OS is Windows 7.
I will try with EO.WebEngine.Engine.Default.Options.AlwaysShowOnScreenKeyboardOnTouch. Will also try with and without the ExtraCommandLineArgs.
Is there any difference when setting the AlwaysShowOnScreenKeyboardOnTouch property with EO.WebBrowser and EO.WebEngine?
Will let you know the result tomorrow.
|
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,229
|
Please see our last reply in this thread for the difference between EO.WebEngine.Engine.Default.Options and EO.WebBrowser.Runtime: https://www.essentialobjects.com/forum/postst10340_ThreadRunner-with-proxy.aspxLet us know how it works on Windows 7 for you. Currently we do not have a Windows 7 touch environment here. So if that's the problem, it may take a little longer for us to acquire a system and test on it. Thanks!
|
|
Rank: Advanced Member Groups: Member
Joined: 2/15/2014 Posts: 52
|
Hi EO
The TabbledBrowser sample with the amended code still doesn't work on Windows 7 kiosk machine. It worked on my colleague's Windows 10 touchscreen notebook. But my simple test app which i showed you didn't work even on their Windows 10 despite changing all the EO.WebBrowser.Runtime to EO.WebEngine.Engine.
For Windows 7 kiosk machine, i even installed the Tablet PC Components to see if it works but to no avail.
Can EO please help to make it work on Win7? We cannot migrate to Win10 as our XFS hardware devices are certified on Win7 only.
Thanks!
|
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,229
|
Hi, Can you send your test app to us? See here for more details: https://www.essentialobjects.com/forum/test_project.aspxThanks!
|
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,229
|
Hi, We have looked into this and posted a new build that should address this issue. Please download the new build from our download page. In addition to download the new build, for WPF project on Windows 7 only, you also need to call the following function when your application starts:
Code: C#
public static void DisableWPFTabletSupport()
{
// Get a collection of the tablet devices for this window.
TabletDeviceCollection devices = System.Windows.Input.Tablet.TabletDevices;
if (devices.Count > 0)
{
// Get the Type of InputManager.
Type inputManagerType = typeof(System.Windows.Input.InputManager);
// Call the StylusLogic method on the InputManager.Current instance.
object stylusLogic = inputManagerType.InvokeMember("StylusLogic",
BindingFlags.GetProperty | BindingFlags.Instance | BindingFlags.NonPublic,
null, InputManager.Current, null);
if (stylusLogic != null)
{
// Get the type of the device class.
Type devicesType = devices.GetType();
// Loop until there are no more devices to remove.
int count = devices.Count + 1;
while (devices.Count > 0)
{
// Remove the first tablet device in the devices collection.
devicesType.InvokeMember("HandleTabletRemoved", BindingFlags.InvokeMethod | BindingFlags.Instance | BindingFlags.NonPublic, null, devices, new object[] { (uint)0 });
count--;
if (devices.Count != count)
{
throw new Exception("Unable to remove real-time stylus support.");
}
}
}
}
}
For example, if you were to call the above code in our TabbedBrowser sample application, you would add the method to the App class and call it inside Application_Startup before everything else. The code is provided by Microsoft in their support forum and it is necessary because WPF has built-in support for stylus, not touch and by default, it interprets touch as stylus events. That logic must be removed in order for touch events to work properly. This code is not needed on Windows 10 (even though our test did not find any problem even if called on Windows 10) or Windows Forms project. Please let us know if this resolves the issue for you. Thanks!
|
|
Rank: Advanced Member Groups: Member
Joined: 2/15/2014 Posts: 52
|
Hi eo,
the latest version 17.1.30.0 does work now on my Windows 7 kiosk machine. This is after turning on the Windows feature Table PC components and configuring the UPDD setting to Extended Touch. Not sure if you had to do the same.
Two questions: Is it possible to change the look and feel of the virtual keyboard? If I'm not mistaken, EO is making use of the Tabtip.exe so probably not? Is it possible to turn on and off the virtual keyboard at runtime? If so, how do I do that?
Thanks Philip
|
|
Rank: Administration Groups: Administration
Joined: 5/27/2007 Posts: 24,229
|
Hi,
No. There is no way for you to turn on/off the virtual keyboard. That is automatically handled by the browser engine based on the touch events/focus.
Yes, the keyboard does rely on tabtip.exe, which is the standard way of supporting virtual keyboard.
Thanks!
|
|