标签: keyboard-events

用于创建 unicode 字符的 SendInput 序列失败

我正在使用需要将击键发送到第三方应用程序的屏幕键盘。它们在 Windows XP 上运行。需要支持美国英语键盘上不可用的一小组字符(例如“\xc3\xa5”或\xc3\xb1)。在查看 SendInput 后​​,似乎最安全的事情是将字符的十六进制 unicode 值作为击键序列发送。我编写的代码发送“Alt”和“Add”按键按下事件,然后发送与 Alt 键 ORed 的四字符 unicode 序列的按键按下和向上事件,最后发送“Add”和“Alt”按键按下事件。在我的 C# 测试应用程序中。我正在使用 KeyPreview,果然,所有事件都会通过,但我得到的只是一声蜂鸣声,没有字符。我通过手动输入击键捕获了相同的信息,KeyPreview 信息相同,并且出现了字符。

\n\n

可以这样使用SendInput吗?我没有使用钩子来检查数据,但我看到帖子表明 SendInput 事件附加了某种“注入”标志,也许这会导致序列失败?

\n\n

此演示代码成功发送按键事件,但旨在生成 unicode 字符的一系列按键事件失败。

\n\n
    private const uint KEYEVENTF_KEYDOWN = 0x0000;\n    private const uint KEYEVENTF_EXTENDEDKEY = 0x0001;\n    private const uint KEYEVENTF_KEYUP = 0x0002;\n\n    private const int INPUT_KEYBOARD = 1;\n\n    [DllImport ("user32.dll", SetLastError = false)]\n    static extern IntPtr GetMessageExtraInfo ();\n\n    [DllImport ("user32.dll", SetLastError = true)]\n    static extern uint SendInput (uint nInputs, [MarshalAs (UnmanagedType.LPArray, SizeConst = 1)] INPUT[] pInputs, int …
Run Code Online (Sandbox Code Playgroud)

c# keyboard unicode localization keyboard-events

0
推荐指数
1
解决办法
3121
查看次数

Python Turtle图形键盘命令

任何人都有使用键盘命令控制python 2.7中的龟图形的任何见解?我已经在这个网站和其他网站上进行了广泛的研究,感觉我做的是正确的,但它只是不想为我工作.以下是我到目前为止,谁能告诉我哪里出错????

from turtle import *
turtle.setup(500, 500)
wn = turtle.Screen()
wn.title("Turtle Keys")
move = turtle.Turtle()
showturtle()

def k1():
move.forward(45)

def k2():
move.left(45)

def k3():
move.right(45)

def k4():
move.back(45)

wn.onkey(k1, "Up")
wn.onkey(k2, "Left")
wn.onkey(k3, "Right")
wn.onkey(k4, "Down")

wn.listen()
Run Code Online (Sandbox Code Playgroud)

keyboard-events turtle-graphics python-2.7

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

当您按住Ctrl键并单击WinForm中的按钮时运行?

当用户按住ctrl按钮并单击NotifyIcon时,我正在尝试运行不同的代码.

我的代码不起作用,但我觉得它清楚地解释了我何时尝试.这是在鼠标点击事件下.

        Private Sub NotifyIcon_MouseClick(ByVal sender As Object, ByVal e As MouseEventArgs) Handles NotifyIcon.MouseClick
        If (e.Modifiers = Keys.Control) Then
            MsgBox("CTRL was pressed !")
        Else
            MsgBox("CTRL was not pressed !")
        End If
        End Sub
Run Code Online (Sandbox Code Playgroud)

vb.net mouseevent keyboard-events winforms

0
推荐指数
2
解决办法
6555
查看次数

KeyEventDispatcher和焦点

我想在使用SWING的游戏中添加键盘快捷键.到目前为止,我一直在使用以下代码:

KeyboardFocusManager.getCurrentKeyboardFocusManager()
            .addKeyEventDispatcher(new KeyEventDispatcher() {


                @Override
                public boolean dispatchKeyEvent(KeyEvent e) { ... }
Run Code Online (Sandbox Code Playgroud)

出于测试目的,我想创建此应用程序的两个实例(测试网络播放).问题是当我使用热键时,非聚焦窗口会抓住焦点.(稍后创建的窗口.)

我怀疑问题是这样的

KeyboardFocusManager.getCurrentKeyboardFocusManager()
Run Code Online (Sandbox Code Playgroud)

是一个静态方法(两个实例都是从同一个JVM启动的).

我唯一想到的另一个选择是让每个组件将他们的键事件委托给祖先JFrame,并在一个地方处理它们,但这会涉及很多锅炉代码,我认为这将是一个丑陋的解.

此外,在正常的游戏过程中不会出现问题,它只会让我在测试时烦恼.

java swing focus keyboard-events

0
推荐指数
1
解决办法
150
查看次数

设置特定于操作系统的键绑定 - 在Mac上使用Cmd,在其他任何位置设置Ctrl

配置Ace(文本编辑器)时,您可以使用特定于操作系统的键绑定,例如{win: "Ctrl-Esc", mac: "Cmd-Esc"}.这表明您可以在JavaScript中使用特定于操作系统的键绑定,但是如何完成?

我想创建Cmd在OS X和Ctrl其他系统上使用的快捷方式.

javascript macos keyboard-shortcuts keyboard-events

0
推荐指数
1
解决办法
180
查看次数

自动箭头(右)按键事件?

是否可以创建自动按键事件?我想刷新网站后自动翻书一次?

提前致谢!

javascript keyboard-events

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

如何在纯javascript中手动触发按键事件时设置键码值?

我对 Javascript 很陌生,尽管我已经很好地使用了 JQuery。但我找不到更好的文档来执行此操作。仅当我按 Enter 键时才需要触发单击事件。所以我需要为这个场景编写测试用例。

function btnRepeatKeyDownEvent(e){
        if (e.keyCode === 13) {
            this.trigger('click', e);
        }
}
Run Code Online (Sandbox Code Playgroud)

到目前为止我已经找到了这个解决方案。

let keyboardEvent: KeyboardEvent = new KeyboardEvent('keypress', {'key': 'Enter'});
document.dispatchEvent(keyboardEvent);
Run Code Online (Sandbox Code Playgroud)

但上面的代码总是给出 keycode 值为 0。我更厌倦寻找解决方案。根据 MDN,大多数功能已被弃用。我需要使这个测试用例在 chrome、firefox 和 IE11+ 中可用,但不适用于旧浏览器。请帮助我。

javascript keypress keyboard-events

0
推荐指数
1
解决办法
3007
查看次数

如何检测转义键的 KeyboardEvent?

许多功能是否已被弃用或不是KeyboardEvent对象类的当前标准的一部分。只是想知道为什么每当我按shiftesc。我的 Chrome 或 Mozilla 控制台上没有显示任何键。

document.addEventListener("keypress", (e) => {
    console.log(e.keyCode);
    console.log(e.key);
    console.log(e.code);
    console.log(e.shiftKey);
});
Run Code Online (Sandbox Code Playgroud)

使用的浏览器控制台

  • "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:56.0) Gecko/20100101 Firefox/56.0"
  • "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36"
  • [Web Inspector] "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/604.1.38 (KHTML, like Gecko) Version/11.0 Safari/604.1.38"

https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent

javascript keyboard-events console.log

0
推荐指数
1
解决办法
3502
查看次数

如何在 macOS 上使用 Kitty 来使用 Fish 的 Alt 绑定

我第一次获得 macOS 机器,我不知道如何使用alt+等命令E打开.$EDITOR

\n

我不想将\xe2\x8c\x98密钥重新映射到alt系统范围,但我不知道如何在 Kitty 或 Fish 中重新映射。

\n

为什么鱼绑定在 mac os 中不起作用?是一个相关问题,但那里的答案仅适用于 iTerm2。

\n

macos terminal keyboard-events fish

0
推荐指数
1
解决办法
1922
查看次数

关闭ESC上的JS菜单

我正在开发一个简单的滑入式菜单系统.我希望能够通过ESC按键来关闭菜单.

这是我目前的代码:http: //jsfiddle.net/3w539Lct/3/

我的Javascript第126行,你可以看到:

$( document ).on( 'keydown', function ( e ) {
            if ( e.keyCode === 27 ) { // ESC
                $(".menu-wrap").prop("checked", false);
            }
        });
Run Code Online (Sandbox Code Playgroud)

但是,这不起作用.有人可以帮忙吗?

html css jquery keyboard-shortcuts keyboard-events

-1
推荐指数
1
解决办法
1813
查看次数