问题标签 [on-screen-keyboard]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
4711 浏览

java - 使用 libgdx 从屏幕键盘获取输入

我正在尝试编写游戏,如果他们做某事,它将启动屏幕键盘。然后,如果他们触摸几个键,游戏会将场景更改为奖励级别。我目前正在使用 libgdx,它在带有真正键盘的桌面版本上运行良好。我无法让它在 android 版本上运行。

在渲染方法中:

这很好用。这样做的全部目的是让键盘出现。它确实做到了。但是,当我尝试通过以下方式检测按键时:

我从来没有得到真正的价值。无论是什么键或值。如何从 libGDX 中的屏幕 Android 键盘检测按键?

0 投票
1 回答
110 浏览

windows-phone-7 - 块软面板输入语言切换

如何让屏幕键盘只使用英语,即使设置选择了英语以外的其他语言?

0 投票
1 回答
922 浏览

windows-8 - 向 Windows 8 屏幕键盘添加按钮

Microsoft 的“股票”应用程序有一行按钮,当您搜索股票时,这些按钮会显示在键盘顶部:

在此处输入图像描述

(见键盘上方的按钮)

有没有办法在我自己的应用程序中添加这些?

0 投票
1 回答
407 浏览

iphone - jqMobi:屏幕键盘打开时调整屏幕大小

尝试在 iPhone 4 (IOS6) 上的 Safari 浏览器中调试 jqMobi 应用程序。

当我触摸文本输入字段时,屏幕键盘会出现,并且它后面的屏幕会放大,因此文本输入字段几乎填满了屏幕。这是正常的 iPhone 行为,不是问题。

但是,当我点击“返回”或“完成”按钮时,屏幕保持放大状态,显然无法恢复正常。

我从问题jqmobi的答案中了解到。在 ios (ipod) 上,当输入字段聚焦的内容向上移动时,我应该能够在键盘关闭时检测到事件,但我不知道该调用什么来告诉 iPhone Safari 返回其正常的缩放到 100 % 状态。

更新:我找到了一种解决方法,即在 meta name=viewport 指令中添加“maximum-scale=1”,但这样做的问题是您现在无法手动调整任何通常的屏幕大小。

0 投票
3 回答
2771 浏览

c# - C#如何在windows xp/7中禁用屏幕键盘声音

我有一个 C# 应用程序在我使用屏幕键盘的 windows xp/7 上运行。

在此处输入图像描述

启用声音时会有延迟,这会导致问题。我想禁用声音。

在此处输入图像描述

如何通过我的 C# 应用程序代码禁用声音。有任何想法吗 ?

0 投票
2 回答
3014 浏览

mfc - 聚焦可编辑控件时屏幕键盘上的 MFC

我想做一件在概念上很简单的事情:对于每个接受键盘输入的控件(CEdit、带有可编辑文本的 CCombobox 等),当控件获得焦点并启用时,使屏幕键盘出现。最好具有可访问性支持(我已经阅读了一些有关 Microsoft 用户界面自动化的资料),而不是直接调用 osk.exe 实用程序。

当用户将焦点放在可编辑控件上时,它非常类似于触摸屏智能手机。

更新:如果有一个 Windows 选项可以使屏幕键盘按照我描述的方式运行,那很好!

更新 2:我想要的东西类似于http://msdn.microsoft.com/en-us/library/windows/apps/hh465404.aspx,但在 Windows 7 中。

我已经对 IUIAutomation 类进行了实验,在聚焦可编辑控件时直接调用 osk.exe,并在聚焦不可编辑控件时关闭该窗口。

但是,我仍然有三个问题:

1) 当打开一个 CFileDialog 应用程序变得无响应时。仅应用程序的另一个模态对话框发生同样的情况(在每个其他模态对话框中一切正常)。我发现 CFileDialog 打开了一些后台线程和我唯一有问题的模式。我怀疑这与线程问题有关。

2)当一些其他控件被聚焦时,然后我直接单击 CBS_DROPDOWN 组合框的下拉按钮,而不是选择它的编辑控件,我看到 OSK 出现和消失。使用 Spy++ 和 UIA Inspect 我怀疑文本编辑在组合框进入删除状态之前被聚焦。

3)用SetWindowPos做了一些实验后,MoveWindow

或者

并使用一些消息处理实验,如

或者

我无法移动 OSK 窗口。我能移动它很重要;否则,它会出现覆盖焦点控件,并且用户看不到他给控件的输入!旁注:以下用于最小化 OSK 窗口的代码完美运行:

即使尝试使用此 AutoIt 脚本移动该窗口也无济于事:

我看到文字

激活

移动 1

移动 2

正在打印,但 OSK 窗口没有被移动到任何地方。也许它正在积极拒绝定位指令。

我试过这个 AutoIt 脚本来移动 Tabtip.exe 窗口,但它也失败了。我试过这个脚本来移动 Visual Studio 命令提示符的窗口,它移动了!GRRRRR!

更新 3:在我看来,这与用户访问控制和权限有关。如果我禁用用户访问控制或以管理员身份运行应用程序,则 MoveWindow 指令可以完美运行!这同样适用于 AutoIt 试图移动 OSKMainCLASS 窗口!那么,Windows 7 中是否有一些本地或组策略允许我对 OSK 应用程序进行例外处理?

4) 为了让 osk.exe 在 64 位操作系统上运行,我尝试了所有不强制禁用 SysWOW64 重定向的方法,但我无法摆脱它。到目前为止,我没有看到任何问题,但也许下面的代码将来会导致问题。

更新 5:似乎我上次尝试执行 osk.exe 进程开始,但它的窗口没有出现!要将值归因于 osk_wnd,我有一个函数可以遍历 CWnd::GetDesktopWindow() 的所有 GW_CHILD 窗口来搜索 GetClassName(...) 为“OSKMainClass”但没有找到的那个!

0 投票
1 回答
740 浏览

windows-8 - Windows 平板电脑屏幕键盘覆盖了大部分共享目标窗口

我正在编写一个 Windows 应用商店应用程序。它是一个共享目标,允许用户更新在主应用程序中使用的产品照片。当用户从另一个应用分享照片,并选择我的应用作为目标时,它允许用户选择他们想要更新的产品,显示旧照片和分享的新照片,然后给用户替换照片的选项。查找要更新的产品的过程涉及用户在 TextBox 中输入文本。

有几个问题。首先,当用作共享目标时,我使用的页面似乎只是一个弹出窗口,而不是全屏。所以,马上,我只有不到一半的屏幕可以使用(左半部分)。

另一个问题是平板电脑的屏幕键盘立即出现并覆盖了屏幕的下半部分,因为 TextBox 具有焦点。所以现在,只有屏幕的左上角是可见的,这给了我很少的空间来工作。

这只是我必须处理的正常事情吗?每个人都只是将他们的共享目标窗口设计为只使用那一点点空间吗?或者有人有其他解决方案吗?

0 投票
1 回答
893 浏览

.net - LoadKeyboardLayout 不会改变屏幕键盘的 UI

我已经为我的应用程序激活了 Windows 屏幕键盘,并在显示屏幕键盘之前将键盘布局更改为泰米尔语,使用以下代码:

我可以通过以下方式在文本框中输入泰米尔语:

  • 在我的键盘上按下键
  • 单击屏幕键盘中的键

但屏幕键盘仅显示英文字符。当我单击语言栏中的泰米尔语时,屏幕键盘上的键会显示泰米尔语字符。

当以编程方式进行更改时,为什么屏幕键盘的字符不会根据当前键盘布局的更改而更改?

0 投票
2 回答
9177 浏览

wpf - 是否可以在 c# 中显示、隐藏和操作 Windows 8 屏幕键盘?

我正在制作一个 WPF 应用程序,该应用程序将在没有硬件键盘的信息亭上使用。目前我们正在使用第三方屏幕键盘,但 Windows 8 版本要好得多,我们正在考虑切换到它。

所以我的问题很简单,是否可以显示/隐藏它以及使用 c# 显示仅数字版本。

谢谢!大卫

0 投票
1 回答
752 浏览

xaml - Popup 中的 XAML TextBox 被屏幕键盘隐藏

在我的 Metro 应用程序中,我有一页充满了 TextBox,它们在 StackPanel 中垂直排列。通常,当用户单击底部文本框之一时,页面会自动向上滚动,以便焦点文本框不会被屏幕键盘遮挡。

但是,如果页面显示在 Popup 中,则似乎不会发生这种自动滚动。我应该怎么做才能使我的弹出窗口具有与普通页面相同的滚动行为?