标签: virtual-keyboard

网页可以知道Android虚拟键盘

我有带jquery终端的网页和隐藏的textarea(触发Android虚拟键盘),我可以输入字符但是当我输入几个命令时,内容隐藏在虚拟键盘后面.终端内容滚动到底部,因为当我输入更多命令时它会滚动.当我在手机中使用硬件键盘时,滚动是正确的(触摸滚动还没有工作).

我添加了这个CSS

.terminal textarea { top: 0; width:0; margin-left: -8px; pointer-events: none; }
Run Code Online (Sandbox Code Playgroud)

对于prevoius

.terminal .clipboard {
    position: absolute;
    bottom: 0;
    left: 0;
    opacity: 0.01;
    filter: alpha(opacity = 0.01);
    filter: progid:DXImageTransform.Microsoft.Alpha(opacity=0.01);
    width: 2px;
}
.cmd > .clipboard {
    position: fixed;
}
Run Code Online (Sandbox Code Playgroud)

并在插件中使用此代码(textarea用于剪贴板).

 self.click(function() {
     self.find('textarea').focus();
 });
Run Code Online (Sandbox Code Playgroud)

我的问题是:javascript可以检测出虚拟键盘的大小吗?或者也许还有其他方法来改变网页的大小,所以它只是在视觉部分(不是键盘的位置)?或者我的代码可能有问题,它不适用于移动设备.即使用户安装了不同的键盘,键盘的大小也始终相同吗?

browser jquery android virtual-keyboard

9
推荐指数
2
解决办法
3987
查看次数

为Windows 10开发自定义虚拟键盘

我想在Windows 10上创建一个用于触摸的自定义虚拟键盘​​.我主要是一个开发人员,但如果Windows 10 Dev与之前的版本类似,我可能不得不恢复到C/C++.我希望能够定义按下按键时吐出的所有内容,形状,区域和数据.

Windows 10有一个键盘选择菜单(见图),我希望它与它集成,以便它可以与本机键盘接口一起使用.

在此输入图像描述

我是一位经验丰富的商业应用程序员,但我不知道从哪里开始.我看到这篇文章用于Windows 7键盘,但我希望Windows 10的内容已经发生了变化.

我的问题是:

  1. 是否有可能创建一个本地集成的客户虚拟键盘?
  2. 如何将其与Windows 10虚拟键盘选择器(如图)集成?
  3. 我从哪里开始?

任何帮助/方向/智慧的话将不胜感激.

更新:我想也许我没有解释得很好.我想构建一个与普通键盘形状不同的虚拟键盘,基本上就像快捷键盘一样.您点击一个键,它会将预设的文本片段插入上下文窗口.并且可以从图中的虚拟键盘选项中选择(蓝色位).

c# c++ keyboard virtual-keyboard windows-10

9
推荐指数
1
解决办法
5536
查看次数

带有MathJax或类似功能的Virtual Latex数学键盘

我正在尝试创建一个像khanacademy.org或mathspace.co或类似网站中的虚拟数学键盘,在那里你可以插入数学符号并写下来回答问题,如果你是学生,我怎样才能实现这样的事情?在khanacademy.org,他们使用MathJax,我试着通过文档阅读没有运气.

在此输入图像描述

在此输入图像描述

latex virtual-keyboard mathjax khan-academy mathquill

9
推荐指数
1
解决办法
1613
查看次数

SendInput()不是"发送"正确的移位字符?

void WriteChar(char c)
{
    INPUT input = {0};
    input.type = INPUT_KEYBOARD;
    input.ki.wVk= VkKeyScanEx(c, GetKeyboardLayout(0) ) ;   
    SendInput(1,&input, sizeof(INPUT));
}
Run Code Online (Sandbox Code Playgroud)

VkKeyScanEx为'/'和'?'(相同的键)返回不同的键代码,但是如果您尝试使用此方法编写包含'?'的消息,则只会写'/'.我不知道发生了什么事.同样的事情发生在';' 和':'.

我部分不了解密钥代码和扫描代码.大多数角色都有虚拟键码,但我找不到类似问号的东西.它们必须存在,但没有列出?

c++ winapi scancodes virtual-keyboard sendinput

7
推荐指数
2
解决办法
5601
查看次数

android popupwindow位于虚拟键盘之上

我有一个弹出窗口,其底部或我的屏幕上出现了一个广告.我是这样做的,因此用户可以点击x来关闭广告.

当popUpWindow处于活动状态时虚拟键盘出现时,广告仍然可见.如何让键盘对popUpWindow有所保留,或者告诉popUpWindow不在最顶层?

android popupwindow virtual-keyboard

7
推荐指数
2
解决办法
5033
查看次数

Sencha Touch 2中拾取器的上一个和下一个按钮

我正在使用Sencha Touch 2.0.1为Android,iOS和Blackberry构建应用程序.

我有一个Form-Panel,有大约10个选择区和一些sextfields.如果我在Android 2.3或更高版本上运行应用程序,则选择字段显示为选择器.到现在为止还挺好.

当用户开始填写以textfields开头的表单时,他可以使用虚拟键盘上的下一个按钮浏览表单.问题是,下一个按钮会忽略选择域.用户必须点击选择字段.

我无法弄清楚如何获得拾取器元素的上一个和下一个按钮.因此,我只能使用下一个按钮而不是按"完成"并点击下一个选择字段来浏览表单.这对用户来说会更舒服.

所以对sencha论坛的支持并没有多大帮助,见下文:

http://www.sencha.com/forum/showthread.php?219636-Native-select-field-for-Android http://www.sencha.com/forum/showthread.php?205581-Can-I-use -iOS本地选取器,INSTEAD-OF-ST2选取器

据此,选择器有prev-next和next按钮:http://www.sencha.com/forum/showthread.php? 205159-Ext.picker.Date-with-no-prev-and-next- 按钮&p = 803794

但我找不到他们:-(

我认为,这个问题有两种解决方案:

  1. 按照上面第一个链接中的建议访问本机选择器.问题是如何?
  2. 使用上一个和下一个按钮实现自己的Picker-Element.对于这样一项基本任务来说,这似乎是一个巨大的努力.

我真的不敢相信,这在像Sencha Touch这样的大框架中是如此重要.

任何人都面临同样的问题并有一个有效的解决方案

picker next virtual-keyboard sencha-touch-2

7
推荐指数
1
解决办法
882
查看次数

虚拟键盘隐藏字段/ textareas/contenteditable(隐藏在键盘下方)

我知道已经有一些StackOverflow线程关于手机的虚拟键盘隐藏或重叠输入字段,文本区域等问题.但所有这些线程都没用,我搜索了很多,但很多人都在谈论基于Android开发的这个问题,还有一些基于Web开发.

我专注于Web开发.问题是,没有线程可以解决问题或者给出/发布任何真正有用的答案.

所以我开始这个,希望它现在能够解决.那么现在问题直接是什么?

如果您在移动设备上单击可以输入内容的区域,您通常会期望网站向上滚动并且虚拟键盘在可编辑区域之后打开,但发生的情况不是这样的.虚拟键盘只是作为叠加打开 - 它开始重叠可编辑区域.

在我的情况下,我打开一个jQuery UI对话框,其中我的字段位于,但我认为这应该无关紧要.

所以我让我的想法越过并找到了解决方案,以增加一些额外的空间.像这样:JSFiddle.

所以我可以向下滚动.但是这很烦人,因为它没有用,或者对于不使用打开虚拟键盘的设备的人来说不需要.所以我想到了这样一个函数:

function isMobileDevice() {
    var isiPhone = navigator.userAgent.toLowerCase().indexOf("iphone");
    var isiPad = navigator.userAgent.toLowerCase().indexOf("ipad");
    var isiPod = navigator.userAgent.toLowerCase().indexOf("ipod");
    var isAndroid = navigator.userAgent.toLowerCase().indexOf("android");
    if (isiPhone > -1 || isiPad > -1 || isiPod > -1 || isAndroid > -1) {
        return true
    } else {
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

好吧,对于这部分将是我的问题,我忘了一个设备,它也打开一个虚拟键盘,主要问题是除了我的解决方法还有什么?我没有找到明确识别虚拟键盘的东西.

编辑24.04.2015:

伙计们,我刚刚使用三星Galaxy Note和Firefox,Chrome以及Opera的最新移动浏览器版本对其进行了测试.(今天更新了所有三个!)

好的,这是我的结果: 在此输入图像描述

正如你所看到的,除了Firefox之外的所有浏览器都失败了,而且这是我问题的完美视觉示例.虚拟键盘与可编辑区域重叠!通常,我比任何其他浏览器更喜欢Chrome,但对于这种情况,我不得不说 - 好工作Firefox!

css jquery hidden virtual-keyboard overlapping

7
推荐指数
1
解决办法
1469
查看次数

如何运行那些Android SDK示例应用程序?

我有64位Windows 7专业版,Android SDK和Eclipse的ADT插件.在Android SDK的examples目录中,SoftKeyboard至少有三个不同的目录.我应该使用哪一个?

如何运行SoftKeyboard?我试过了,但根本没用.

你也可以在这里找到它:http://developer.android.com/resources/samples/SoftKeyboard/index.html

android on-screen-keyboard virtual-keyboard soft-keyboard android-softkeyboard

6
推荐指数
1
解决办法
1万
查看次数

从Windows 10虚拟键盘进入WPF文本框的快乐表情符号未在文本框的PreviewTextInput事件中捕获

我想禁用在WPF应用程序的输入字段中输入所有Emojis(情感图标).我实现它的方式是:

txtUserName.PreviewTextInput += LoginPreviewTextInput;
Run Code Online (Sandbox Code Playgroud)

LoginPreviewTextInput看起来如下:

private void LoginPreviewTextInput(object sender, TextCompositionEventArgs e)
{
     if (!InputValidator.IsValidInput(e.Text))
          e.Handled = true;
}
Run Code Online (Sandbox Code Playgroud)

InputValidator的IsValidInput如下所示:

public class InputValidator
{
    //These characters are allowed in the textbox
    private static string pattern = @"^[\w\s,\.\(\)~!@\#\$%\^&\*-=\+\[\]\{\}:;'""<>\?\\|]*$";
    public static bool IsValidInput(string previewedInput)
    {
        var matches = Regex.Matches(previewedInput, pattern);
        if (matches.Count == 1)
        {
            return true;
        }
        return false;
    }
}
Run Code Online (Sandbox Code Playgroud)

奇怪的是它适用于虚拟键盘中的所有表情符号图标,除了快乐表情符号.它不起作用,因为一旦我在Windows虚拟键盘中输入此表情符号,它就不会调用LoginPreviewTextInput(它适用于所有其他Emojis).

快乐表情符号如下图所示:

在此输入图像描述

当快乐表情符号输入文本框时,文本框如下所示:

在此输入图像描述

快乐表情符号已输入文本框.您可以看到,当文本框的文本属性为空时,甚至会显示水印.当我在snoop中查看文本框的text属性时,它确实是空的,并且有界属性是viewmodel为空(从未调用setter).

同样,只发生在这个特定的表情符号(快乐的表情符号)上.所有其他表情符号都到达LoginPreviewTextInput方法,与正则表达式不匹配并被忽略.

c# wpf events virtual-keyboard

6
推荐指数
1
解决办法
282
查看次数

android virtualKeyBoard 中“下一步”的键码是什么

我正在增强(在角度指令中)谷歌放置自动完成输入以选择第一个选项(如果没有选择)。

我正在使用下面的代码,当使用“tab”或“enter”键时,它就像一个魅力。

不幸的是,它无法在带有虚拟键盘“下一个”键的Android 设备(chrome)上运行...

这个“下一个”键的 KeyCode 可能是什么,因为它既不是“tab”(9) 也不是“enter”(13)

selectFirstOnEnterOrTab(input) {
    // prevent submit on enter (13)
    $(input).keydown(function (e) {
      if (e.which === 13 && $('.pac-container:visible').length) {
        return false;
      }
    });

    // store the original event binding function
    const _addEventListener = (input.addEventListener) ? input.addEventListener : input.attachEvent;
    function addEventListenerWrapper(type, listener) {
      // Simulate a 'down arrow' keypress on hitting 'return' when no pac suggestion is selected,
      // and then trigger the original listener.
      if (type === 'keydown') {
        const …
Run Code Online (Sandbox Code Playgroud)

javascript virtual-keyboard angular

6
推荐指数
1
解决办法
1927
查看次数