无论键盘布局如何,都可获取键码

问题描述 投票:3回答:1

我有一个程序,无论用户使用什么键盘语言设置,我都需要在按下的键的javascript中获取键码。

这是我的代码:

JS:

window.addEventListener('keydown', function(e) {
    console.log(e.keyCode);
    // it works fine in all browsers, but in qwebview keycode == 0 in russian layout
});

蟒蛇:

class View(QWebView):

    def __init__(self, parent=None):
        super(QWebView, self).__init__(parent)

    def keyPressEvent(self, e):
        print e.key() # same as in JS
        print e.nativeScanCode() # ??
        # QWebView.keyPressEvent(self, e)
javascript qt qtwebkit
1个回答
1
投票

使用e.code属性而不是e.keyCode。例如,按美式或法式键盘上的第一个字母键(法语,它是A)将给你KeyQ

请注意,它不适用于Edge。截至2019年4月的第18版测试。

使用此网站进行测试:http://keycode.info

© www.soinside.com 2019 - 2024. All rights reserved.