标签: keycode

Javascript HTML5捕获keyCode并写入Canvas

我正在编写一个应用程序,我需要在其中模拟textarea.我知道如何处理它的唯一方法是捕获关键事件的keyCode.如何使用keyCode并支持utf-8将其应用于画布?

干杯

javascript html5 canvas keycode

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

将NSEvent发送到后台应用程序

我需要将密钥组合^⌘C发送到带有包标识符的后台应用程序com.company.app.然后,键组合应激活该应用程序中的菜单项.

不幸的是,我不知道如何做到这一点.一些研究指出我使用NSEvent和CGEvent API CGEventPostToPSN(),但我无法正常工作,因为我不知道如何设置密钥组合.CGEventPost()似乎不适用于我创建的事件,即使所需的应用程序是活动的.

这是我最终提出的代码,但这不起作用:

CGWindowID windowNumber;
NSEvent *event = [NSEvent keyEventWithType:NSKeyUp
                                  location:NSZeroPoint
                             modifierFlags:(NSControlKeyMask | NSCommandKeyMask)
                                 timestamp:[[NSProcessInfo processInfo] systemUptime]
                              windowNumber:windowNumber
                                   context:[NSGraphicsContext currentContext]
                                characters:@"c"
               charactersIgnoringModifiers:@"c"
                                 isARepeat:NO
                                   keyCode:8];
CGEventRef eventRef = [event CGEvent];
Run Code Online (Sandbox Code Playgroud)

我现在该怎么办?为什么没有NSEvent相应的CGEventPost()?是否有更简单的方法来激活该菜单项而不是发布活动?我可以很容易地得到一个实例NSRunningApplication,但是没有合适的API来完成我的任务.

更新: 我搞定了:

- (void) postFakedKeyboardEventForCopyScreenToPasteboardToPSN:(ProcessSerialNumber)psn {
    CGEventSourceRef source = CGEventSourceCreate(kCGEventSourceStatePrivate);
    CGEventRef keyDownEvent = CGEventCreateKeyboardEvent(source, (CGKeyCode)8, true);
    CGEventSetFlags(keyDownEvent, (kCGEventFlagMaskControl | kCGEventFlagMaskCommand));
    CGEventRef keyUpEvent = CGEventCreateKeyboardEvent(source, (CGKeyCode)8, false);
    CGEventSetFlags(keyUpEvent, (kCGEventFlagMaskControl | kCGEventFlagMaskCommand));
    CFRelease(source);

    CGEventPostToPSN(&psn, keyDownEvent);
    CFRelease(keyDownEvent);
    CGEventPostToPSN(&psn, keyUpEvent);
    CFRelease(keyUpEvent); …
Run Code Online (Sandbox Code Playgroud)

macos cocoa objective-c keycode nsevent

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

jQuery Trigger keyCode在wysiwyg textarea中按Ctrl + Shift + z和Ctrl + z

我想知道我如何触发组成的事件keyCode Ctrl+z和由Ctrl+Shift+z?组成的事件键码?

javascript jquery wysiwyg triggers keycode

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

"$"的keyCode是什么?

我试图禁止所有其他字符输入文本输入.

既然要得到$你必须按shift-key和4-key.我不确定你会怎么得到像这样的事情的keyCode?

javascript keycode

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

event.keyCode在Firefox中不起作用

我正在使用ASP.net C#开发的登录页面出现问题.该表单适用于IE,但不适用于Firefox.这是我的样本:

<%@ Page Language="c#" Inherits="ClubCard.loginClubcard" CodeFile="loginClubcard.aspx.cs" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN" > 
<html>
    <head>
        <title>
            Acceso Clubcard
        </title>

        <meta http-equiv="Page-Enter" content="blendTrans(Duration=0.25)" />
        <meta http-equiv="Page-Exit" content="blendTrans(Duration=0.25)" />
        <link rel="stylesheet" type="text/css" href="styles.css">

        <style>
            #centered
            {
                LEFT: 50%;
                MARGIN-LEFT: -235px;
                POSITION: absolute;
                TOP: 150px
            }

            .letras
            {
                FONT-SIZE: 10pt;
                COLOR: white;
                FONT-FAMILY: Arial
            }

            .cajas
            {
                FONT-SIZE: 10pt;
                FONT-FAMILY: Arial
            }

            .letrasGris A
            {
                FONT-SIZE: 12px;
                COLOR: #8f8f92;
                FONT-FAMILY: Arial;
                TEXT-DECORATION: none
            }

            .highlightit IMG
            {
                FILTER: progid:DXImageTransform.Microsoft.Alpha(opacity=100);
                -moz-opacity: …
Run Code Online (Sandbox Code Playgroud)

javascript asp.net events login keycode

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

Angular:"tab"键码事件未触发

我有一个带有处理程序的表单字段,我想在用户故意接受带有return/enter或者选项卡到下一个字段的值后触发.在这种情况下我不能使用onBlur,因为它当然会在用户或系统模糊字段时触发.我只想要一个密钥.

所以我有这个.我有第enter一个,它很棒.但是keycode==9不会触发处理程序.焦点只是移动到下一个领域.

ng-keyup="($event.keyCode == 13 || 
           $event.keyCode == 9) 
           && packages.submitNumber('add', packages.addTrackingNumber)"
Run Code Online (Sandbox Code Playgroud)

有没有办法在enterOR 上引发这场火灾tab

javascript jquery keycode angularjs

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

打印屏幕的键码(44不起作用)

所以我想测试我网站的访问者是否按下了"打印屏幕"按钮.

尽管我一直在寻找,但没有任何信息可以找到.我发现的全部是,ir应该是keyCode == 44.

我试过的所有其他按钮都没有问题.

我的错误在哪里?

这是输入按钮的类似工作代码:

window.addEventListener("keydown", checkKeyPressed, false);

function checkKeyPressed(e) {
    if (e.keyCode == "13") {
        alert("The 'enter' key is pressed.");
    }
}
Run Code Online (Sandbox Code Playgroud)

javascript keycode event-listener

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

是否可以从 onkeyup 获取密钥代码?

我知道在使用 JavaScript 或 jQuery 时。我可以在对象上添加一个事件侦听器,以便在按下某个键时调用函数。

但是,如果函数是从 HTML 启动的,如下例所示:

function callMyFunction (importantothervalue) {
  //How can I get the keycode?
}
Run Code Online (Sandbox Code Playgroud)
<textarea onkeyup="callMyFunction(1);"></textarea>
<textarea onkeyup="callMyFunction(2);"></textarea>
<textarea onkeyup="callMyFunction(3);"></textarea>
Run Code Online (Sandbox Code Playgroud)

有没有办法从这个上下文中检索关键代码?或者如果我想获得关键代码,我是否总是需要制作一个事件处理程序?

有什么方法可以让我在生成的函数调用中包含重要的其他值,而无需对idclass属性中的信息进行编码并从那里提取它?

javascript events keycode event-handling onkeyup

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

getwch`返回的键码是什么?

我正在使用msvcrt.getwch以Windows为目标的Python进行交互式提示。

该文件说:

读取按键并以字节字符串形式返回结果字符。什么也没有回应到控制台。如果尚未提供按键,则该呼叫将被阻止,但不会等待按下Enter键。如果按下的键是特殊功能键,则将返回“ \ 000”或“ \ xe0”;下一次调用将返回键码。使用此功能无法读取Control-C按键。

我发现F10使用前者- \x00D,F11使用后者\xe0\x85

但是,这并未说明键码是什么。这很重要,因为\xe0除了其他键之外,我没有键(à),因此无法测试输入此值的输出。


其他方面

例如,我尝试过两种方式将此键粘贴到提示中。

  • CTRL-v-输入密钥代码\x16。这是ASCII中的同步空闲密钥。[1](这是我输入的组合键。)
  • 右键单击(在PS中粘贴)-结果仅\xe0被输入。

    我不确定Power Shell和Visual C ++是否允许我粘贴转义序列,或者这是对该键的实际处理。


鉴于这msvcrt似乎是Visual C ++的包装,我也查看了该文档。

_getch和_getwch函数从控制台读取单个字符,而不回显该字符。这些功能均不能用于读取CTRL + C。读取功能键或箭头键时,每个功能必须调用两次;第一次调用返回0或0xE0,第二次调用返回实际的密钥代码。

这也没有说出键码是什么。

我在网上看过,但是我只能找到有关虚拟键码的信息,但是这表示F10是\x79,F11是\x7A。由于此函数未返回这些值,因此我知道它没有引用这些键码。

python windows keycode visual-c++

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

如何将Linux密钥从/ dev/input/event*转换为ASCII

我正在尝试将从/ dev/input/event0读取的键盘事件从定义的值转换为未运行X或终端的嵌入式应用程序中的ASCII等效项.

我认为这应该通过Linux中定义的键盘映射功能来完成,而不仅仅是创建我自己的std :: map <>但我似乎无法找到一个好的起点.到目前为止,我发现的大多数示例都假设我使用的是X窗口或终端.

linux embedded ascii keycode

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