标签: keyboard-events

如何对jQuery键盘事件进行单元测试?

有没有一种方法来测试JavaScript的键盘事件处理程序(keypress,keyup,keydown事件)?

我知道我可以声明这样的事件处理程序:

function keyUpEvHandler(e) {
    ... // code here
}

$('#myId').keyup(keyUpEvHandler);
Run Code Online (Sandbox Code Playgroud)

然后在单元测试中运行此函数,但我必须准备事件参数对象与按下实际键时传递的相同:

var e = {keyCode: 70, ...};
Run Code Online (Sandbox Code Playgroud)

有没有办法触发这个事件并传递关键代码作为参数或类似的东西?不幸的是,jQuery trigger()docs不包括键盘事件.

jquery events unit-testing qunit keyboard-events

8
推荐指数
1
解决办法
3231
查看次数

相当于WPF中的keypreview属性

我正在考虑从WinForms中为我的一些应用程序投入WPF,目前我正在研究组合条形码阅读器/文本输入程序(医疗保健患者表格).

为了能够处理条形码字符,我依赖于WinForms中的Keypreview属性(因为无论焦点是什么控件都可以扫描条形码).

但对于WPF应用程序,我似乎无法在VS2008或VS2010中找到KeyPreview属性.

是否有替代方法/解决方案来处理WPF中的条形码字符?

Rgrds Henry

wpf keyboard-events

8
推荐指数
2
解决办法
8066
查看次数

Android键盘布局语言

为android编写字典应用程序.想要根据当前输入语言设置翻译方向(更准确地说,软键盘上显示的字母语言).例如,我们得到了英语 - 法语的语言对.我想要的是,当用户输入英文字母(显示英文键盘布局)时,翻译方向是直的,当键盘布局改为法语时,翻译方向也会改变为倒置.

所以,问题是:在Android输入法框架中是否有任何事件,它允许跟踪这种布局的变化.如果没有,也许有一些标准的技巧来做我需要的?

先谢谢你,Alex

android keyboard-layout keyboard-events android-input-method

8
推荐指数
1
解决办法
1055
查看次数

无法在JavaFX中侦听KeyEvent

我希望我的JavaFX程序能够响应键盘事件.
我尝试将监听器添加到root Pane,最顶层Pane,但它不响应事件!
这是我的代码:

   AnchorPane root = new AnchorPane();
   root.setOnKeyPressed(new EventHandler<KeyEvent>() {

        @Override
        public void handle(KeyEvent t) {
            pressKey(t.getCharacter().charAt(0));
        }
    });
    root.setOnKeyReleased(new EventHandler<KeyEvent>() {

        @Override
        public void handle(KeyEvent t) {
            releaseKey(t.getCharacter().charAt(0));
        }
    });
    root.addEventHandler(EventType.ROOT, new EventHandler<Event>() {

        @Override
        public void handle(Event t) {
            if (t.getClass().equals(KeyEvent.class)) {
                System.out.println("AAARGH! " + ((KeyEvent)t).getCharacter());
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

为什么你不工作,关键事件?我在这里做错了吗?
可以肯定的是,鼠标事件可以使用相同的代码正常工作.

keyevent keyboard-events javafx-2

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

keybd_event需要KEYEVENTF_EXTENDEDKEY说明

文档中它说:

KEYEVENTF_EXTENDEDKEY(0x0001):如果指定,则扫描代码前面有一个值为0xE0(224)的前缀字节.

有人可以解释这意味着什么吗?

这有什么区别:

keybd_event(RIGHT, 0, 0, 0);
keybd_event(RIGHT, 0, 2, 0);
Run Code Online (Sandbox Code Playgroud)

还有这个:

keybd_event(RIGHT, 0, 1 | 0, 0);
keybd_event(RIGHT, 0, 1 | 2, 0);
Run Code Online (Sandbox Code Playgroud)

因为当我执行这段代码时,我看不出有什么区别?

另外,什么是"字节bScan"?在描述中它是:密钥的硬件扫描代码.那意味着什么?

c# pinvoke keyboard-events

8
推荐指数
3
解决办法
5640
查看次数

如何在键盘应用程序扩展中处理UITextField

我在自定义键盘上添加了textfield(keyboardTextField)和UISwitch.我可以在Switch value my code的基础上为(keyboardTextField)设置焦点ONOFF.

- (void)switchToggled:(id)sender
 {
    UISwitch *mySwitch = (UISwitch *)sender;
    if ([mySwitch isOn])
    {
       [keyboardTextField becomeFirstResponder];
    }
    else
    {
        [keyboardTextField resignFirstResponder];
    }
 }
Run Code Online (Sandbox Code Playgroud)

因此,当我的自定义键盘在我的设备的每个应用程序中启动它时,第一次发生了什么事情,但是在将Switch值更改为On然后OFF并且现在我的自定义后,我无法选择主应用程序的输入视图.键盘无法在我的设备的任何应用程序中写任何东西.

这里这里已经提出这类问题,但还没有人回答.如果有人有任何解决方法或任何想法,请分享.

keyboard-events becomefirstresponder ios8 custom-keyboard ios-keyboard-extension

8
推荐指数
1
解决办法
681
查看次数

事件已弃用的KeyboardEvent.which属性的替代方法

MDN表示KeyboardEvent.which已弃用.如何将其替换为非弃用版本?

例如,我有以下内容:

window.onkeydown = (event) => { console.log(event.which); }
Run Code Online (Sandbox Code Playgroud)

我认为event.key.charCodeAt()可以代替event.which,但是这不会对键,如工作ALT,CTRL或者ENTER,它只是工作,如果event.key.length === 1:

window.onkeydown = (event) => { console.log(event.key.charCodeAt()); }
Run Code Online (Sandbox Code Playgroud)

总括来说,event.which != event.codeevent.which != event.key,因此我无法简单地使用event.key.

是否有替代品event.which检测组合按键包括ALT,CTRLENTER

javascript events keyboard-events

8
推荐指数
2
解决办法
7075
查看次数

android 中来自 KeyboardEvent 的关键代码无法识别?

我会从keydown事件中得到一个字符。

在我可以使用的所有浏览器中event.key,它的工作正常,但在 android 中结果是别的东西

event.key: unidentified
event.code: ''
event.which: `229` (for [a-z0-9] is always this number)
window.event.keyCode: `229`
Run Code Online (Sandbox Code Playgroud)

租用是旧的 stackoverflow 帖子,但它不再起作用了。

用于在 android 中测试的codepen 演示(IOS 和 PC 工作正常)

我如何从中获取密钥代码或密钥字符串 KeyboardEvent

javascript keyboard-events

8
推荐指数
1
解决办法
712
查看次数

检测点击 android 返回按钮以在 flutter 中关闭键盘

我正在寻找一种可能性来检测用户何时点击底部的 android 返回按钮以便在颤动中关闭键盘。问题如下:如果用户点击文本字段,它就会获得焦点并出现键盘,这里一切都很好。我将文本字段放在 GestureDetector 内,因此如果用户点击文本字段之外的某个位置,则会调用 unfocus()。但在 Android 上,还有另一种方法可以关闭键盘:使用智能手机底部的后退按钮。有什么方法可以检测用户在键盘打开时点击它的时间吗?据我了解,WillPopScope仅在后退按钮指向左侧时起作用,但是当键盘打开时,后退按钮指向底部,它有另一个用途。Keyboard_visibility 包对我不起作用。将侦听器添加到 KeyboardVisibilityNotification 时,onHide 和 onChanged 方法未触发。

keyboard android keyboard-events android-softkeyboard flutter

8
推荐指数
1
解决办法
2489
查看次数

响应 SwiftUI 中的按键事件

我想要响应按键,例如escmacOS/OSX 上的按键以及在 iPad 上使用外部键盘时的按键。我怎样才能做到这一点?

我曾想过将@available/#available与 SwiftUI 一起使用onExitCommand,这看起来很有前途,但不幸的是这只适用于 macOS/OSX。除了 macOS/OSX 之外,如何响应 SwiftUI 中的按键操作?

macos keyboard-events ios swift swiftui

8
推荐指数
2
解决办法
9813
查看次数