如何在Perl中把Linux的按键代码从/dev/input/event*翻译成ASCII?
我正在编写一个读取来自臭名昭著/dev/input/event*的数据的Perl脚本,但我没有找到将内核生成的密钥代码转换为ASCII的方法. 我说的是该表中的Linux密钥代码在这里>而且我似乎找不到可以帮助我翻译它们的东西,而无需将数组进行硬编码.我想念什么吗? 我想跳过阵列部分,因为它似乎不是一个好习惯,所以知道吗? :) 解决方案 这基本上是一个地图问题.您必须进行一个键代码,并查找其ASCII等效物.您认为"数组部分"呢? 我没有在CPAN上看到此模块,但这意味着您有机会成为第一个上传它的人. :) 其他解决方案 不幸的是,我不在Perl中编程,但这是一个简单的示例.但是,它可能会帮助您. /* * Based on keytable.c by Mauro Carvalho Chehab * * This program is free software; you can redistribute it and/or modify
0 2023-05-24
编程技术问答社区
在按下回车键后清除文本区域的输入
我正在使用JavaScript创建一些聊天应用程序,该应用程序允许一个人按下Enter键后发送消息 window.onkeydown=function(event){ if(event.keyCode==13){ sendNew(); } } 和 sendnew()函数; var msg=document.getElementById('txt').value.toString().trim(); if(msg!=="") { //send message document.getElementById('txt').value = ""; } 当您按Enter键时,当Textarea是 onfocus 清除文本时,它似乎会插入一个新的行字符,并且光标转到TextArea中的下一行. 我如何摆脱它并拥有一个完全空的文本主题? 解决方案 按Enter键取消浏览器的默认行为(
8 2023-05-16
编程技术问答社区
jQuery keyup keyCode在Opera中不起作用
Opera浏览器可能会忽略KeyCode 40(箭头向下)? $('#test').keyup(function(e) { $('body').append('' + e.keyCode + ''); }) 在:预先感谢! 彼得 解决方案 尝试使用autocomplete属性,并将其设置为off: Opera使用箭头键进行自动完成,因此可以抑制事件的转发. 工作测试: 其他解决方案 是的,这不起作用(似乎Opera不支持它). 看看
2 2023-05-11
编程技术问答社区
向后台应用程序发送NSEvent
我需要将密钥组合 ^⌘C发送到带有捆绑识别器com.company.app的背景应用程序.然后,密钥组合应激活该应用程序中的菜单项. 不幸的是,我不知道该怎么做.一些研究使用CGEventPostToPSN()指出了我到NSEVENT和CGEVENT API,但是我无法正确工作,因为我不知道如何设置密钥组合. CGEventPost()即使所需的应用是活动的应用程序,似乎也不适用于我创建的事件. 这是我最终提出的代码,但这不起作用: CGWindowID windowNumber; NSEvent *event = [NSEvent keyEventWithType:NSKeyUp location:NSZeroPoint modifierFlags:(NSControlKeyMask | NSCommandKeyMask)
0 2023-05-05
编程技术问答社区
这是javafx中事件过滤器和requstfocus的正确行为吗?
我有一个非常简单的任务.我只想按下按钮上的任何字母,匹配键代码,然后将焦点移至文本字段.我写 如图所示的简单测试代码.我没有问题来转移重点.然而, 我不希望我按在文本字段中显示的字母.看似简单的编程解决方案并不是那么简单. 我不明白为什么事件消耗方法不会阻止事件传播事件链,而是在文本字段中显示了打字的字母. 似乎在调用请求方面后,文本字段从按钮中拾取了字母.这发生在Mac上.任何帮助将不胜感激. package testkeynavigation; public class TestKeyNavigation extends Application { @Override public void start(Stage primaryStage) { Button btn = new Button(); btn.setText("Say 'Hello World'"); btn.setOnAction(new EventHandler
12 2023-04-20
编程技术问答社区
键不会在点击后删除过渡。
我认为问题可能是 const audio = document.queryselector(audio[data-key="${e.keyCode}"]); const key = document.queryselector(.key[data-key="${e.keyCode}"]); 看来键代码已弃用.我在网上搜索了.它说使用.key,但是当我这样做并用钥匙等级更改其他所有内容时,它也无效.有人可以在这里帮助我吗? window.addEventListener('keydown', function(e) { const audio = document.querySelector(`audio[data-key="${e.keyCode}"]`); const key = document.querySelector(`.key[data-key="${e.keyCode}"]`); // will highlight the key pressed i
0 2023-04-14
编程技术问答社区
如何将ASCII字符转换为CGKeyCode?
我需要一个函数,鉴于字符,返回与该字符在当前键盘布局上的位置关联的CGKeyCode.例如,给定" b",如果使用美国QWERTY或kVK_ANSI_N,则应返回kVK_ANSI_B如果使用dvorak. Win32 API具有我需要这个才能将参数传递到 CGEventCreateKeyboardEvent() .我已经尝试使用我已经广泛搜索了这个问题,但找不到一个体面的答案.目前,我正在使用以下代码(在线找到),哪个)作品,但并不是完全优雅(很难解密如何简化),我希望不在生产代码中使用它: #include #include #include CGKeyCode keyCodeForCharWithLayout(const char c, const UCKeyboardLa
0 2023-04-07
编程技术问答社区
我在哪里可以找到Mac虚拟钥匙代码的清单?
我正在使用CGEventCreateKeyboardEvent,需要知道要使用的CGKeyCode值. 特别是,我追求命令键的密钥代码.文档给出了其他密钥的示例: z 是6, shift is 56. 某处必须有MAC虚拟密钥编码的列表? 解决方案 以下是Events.h 的常见密钥代码的列表,以供快速参考 如果您需要在应用程序中使用这些键盘,则应包括碳框架: Objective-C: #include Swift: import Carbon.HIToolbox 然后您可以直接使用kVK_ANSI_A常数. 警告 键常数参考键盘上的物理键.如果打字员使用其他键盘布局,则其输出会更改.常数中的字母仅对应于美国QWERTY键盘布局. 例如,本垒打上的左环手指键: 态 Dvorak keyboard layout> o >> kVK_ANSI_S> "o" 在这里讨论了键代码的布局 -
12 2023-04-07
编程技术问答社区
使用Keybinding获取keycode
我具有显示缓冲图像的函数.我希望在加载图像的jlabel中实现鼠标侦听器和关键侦听器.由于Jlabel无法获得焦点,因此我尝试使用钥匙扣.但是我注意到的是,钥匙键用于个人钥匙.我想要的是每个按压键的键代码,而不管按下哪个键.在这种情况下是否有方法可以获取密钥代码?我还注意到,KeyListener和Mouselistener在构造函数中起作用,但在其他方法中不起作用.是真的吗? public void imageloader(BufferedImage image) throws InterruptedException { // frame.setLocationRelativeTo(null); frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); Dimension dimension = new Dimension(image.getWidth(), image.getH
4 2023-04-01
编程技术问答社区
在JavaScript MouseEvent中,e.metaKey指的是哪个键?
MouseEvent.metaKey似乎不起作用.在Firefox和Chrome上,即使我在单击时持有 win 键,它也会返回false: click while holding "meta key" mdn states state : MouseEvent.metaKey仅读取属性返回 Boolean 指示是否按下 meta 键( true )是否( false ) 发生事件. 注意:在Macintosh键盘上,这是命令键(⌘).在窗户上 键盘,这是Windows键( ). 浏览器兼容性 mdn索赔MouseEvent.metaKey在firefox和chrome上支持,但它不起作用. 哪个键MouseEvent.metaKey是指? 为什么上述代码不起作用? 解决方案 如果您要问哪个键,则必须在Window
0 2023-04-01
编程技术问答社区
C# 如何将虚拟按键代码翻译成char?
我试图将虚拟键代码映射到字符. 我的代码使用ProcessCMDKey收听WM_KEYDOWN,这使我可以访问按键.例如,当我按单个报价时,我会收到一个222的键,我想将其映射到keychar 39,该键代表...您猜对了...单Quote. 我的开发环境是: - .NET框架2.0 - usercontrol放置在许多地方 您知道问题的答案吗? 解决方案 不是 system .windows.form.keysconverter 类是? KeysConverter kc = new KeysConverter(); string keyChar = kc.ConvertToString(keyData); 其他解决方案 是的,我确实使用了MapVirtualKey方法.但是我期望有关如何使用它的更多详细信息:DllImport使用的指令,enum是特定于字符的映射等. 我不喜欢这些答案,您可以在5秒钟内Google进行谷歌搜索,然后提出一个解
12 2023-03-31
编程技术问答社区
C# 如何将虚拟按键代码翻译成char?
我试图将虚拟键代码映射到字符. 我的代码使用ProcessCMDKey收听WM_KEYDOWN,这使我可以访问按键.例如,当我按单个报价时,我会收到一个222的键,我想将其映射到keychar 39,该键代表...您猜对了...单Quote. 我的开发环境是: - .NET框架2.0 - usercontrol放置在许多地方 您知道问题的答案吗? 解决方案 不是 system .windows.form.keysconverter 类是? KeysConverter kc = new KeysConverter(); string keyChar = kc.ConvertToString(keyData); 其他解决方案 是的,我确实使用了MapVirtualKey方法.但是我期望有关如何使用它的更多详细信息:DllImport使用的指令,enum是特定于字符的映射等. 我不喜欢这些答案,您可以在5秒钟内Google进行谷歌搜索,然后提出一个解
16 2023-03-31
编程技术问答社区
如何检测到Ctrl+R被按下?
我正在编码jQuery中的一个函数,该函数如果 ctrl + r 被按下,但我似乎无法找出左和右Ctrl keycodes是什么...有人可以帮忙吗? 更新 ///this works $(document).keydown(function(e){ if(e.keyCode==17){alert("control was pressed")}; }); 下一个问题 - 如何链接控制键按和另一个键按执行函数? if(e.keyCode==17){llCtrlPress=1}; if(e.keyCode==97 && llCtrlPress=1){DO SOMETHING} ???????????? 似乎可以正常工作,但是如何将llctrlpress设置为键上的'0'? 解决方案 您必须使用 keydown 函数来陷阱 ctrl 字符.这是我实现 ctrl + a : $(document).key
6 2023-03-31
编程技术问答社区
Flash是否预先定义了任何keyCode常量?
我本来可以预期的,鉴于Adobe似乎做事的方式,您可以使用静态常数引用一些非ASCII键编码,例如KeyCode.UP_KEY.我在做梦吗?或者您只是假设38将是永久的钥匙.? 解决方案 我相信您正在寻找Keyboard class Keyboard.UP将指向向下键的UP键,等等. 请参阅 .
16 2023-03-28
编程技术问答社区
如何以编程方式获取Apple"命令按钮"键代码?
我需要知道Mac键盘中的命令按钮的哪个键代码,有人知道如何以编程方式获取它? 如果用户点击按钮命令 + x(切快捷方式)可以获得密钥代码吗?谢谢您的建议 解决方案 我要在这里假设您正在处理AppKit Framework生成的NSEVENT. 在NSEVENT的文档中,查看 modifierFlags 方法. 和您要查找的标志特别是 NSCommandKeyMask . 现在,要获得它,如果您在焦点中具有NSView视图...它从NSResponder继承. NSResponder中的一种方法之一是 keyDown .因此,将keyDown方法添加到您的子分类视图中,并且所采用的参数为NSEvent.这就是您将获得命令按钮键的方式. btw&fyi ,如果您只想单独获取命令键(我怀疑这是一个更大的技巧,我不确定如果有可能使用AppKit.因为命令键(例如控件和换档键)是 modifier 键,这意味着当事件生成时,nsevent期望同时按下两个键控制
14 2023-03-17
编程技术问答社区
如何阻止一个按钮在按下回车键时被启动
我正在使用此函数来处理输入单击搜索文本框,但它触发了页面中的另一个按钮,如何阻止该按钮被触发并调用我的搜索()函数. InputKeyPress(e) { if (window.event) { if (event.keyCode == 13) { search(); } } else { if (e) { if (e.which == 13) { search(); } } } } 解决方案 在keyCode == 13情况下,您需要防止keypress事件的默认操作.这样做的标准方法是在事件对象上调用preventDefault函数(如果它具有一个;它不会在IE的较早版本上).较旧的方法是从活动处理程序功能中返回false. "皮带和牙套"做的方法没有真正的伤害. : - ) 您也
0 2023-03-14
编程技术问答社区
Jquery:检测鼠标中键或右键是否被点击,如果被点击,就做这个。
查看我的jsfiddle demo ,如果e.which == 1,那么当您向左单击H2时,它将 e.which == 2或e.which == 3然后它无法使用. 2是中间鼠标按钮,3是正确的鼠标按钮.我也发现了这个: jQuery提供了E. e.属性,分别返回1、2、3,分别为左,中和右键单击.因此,您也可以使用if(e.th == 3){arter("右键单击"); } 此代码无法正常工作: 代码: $("h2").live('click', function(e) { if( e.which == 2 ) { e.preventDefault(); alert("middle button"); } }); 解决方案 您可能需要捕获Mousedown事件,您还需要防止OnContextMenu事件以阻止上下文菜单在右键单击事件中出现. $("h2").live('mousedown', funct
4 2023-03-14
编程技术问答社区
在c#中记录击键时,输入特殊字符时显示双重字符
我的应用程序可以记录任何用户按下的应用程序,但是当我将特殊字符(如´)按a>> a>获得á时,我会得到´´a;当我想获得à时,我会得到``a,因此所有特殊字符都会键入两次,然后在后面键入常规字符. 我一直在搜索过,真的找不到任何东西.但是我注意到问题在ToAscii方法中,没有该字符的键入正确. public string GetString(IntPtr lParam, int vCode) { try { bool shift = Keys.Shift == Control.ModifierKeys || Console.CapsLock; string value = ""; KeyboardHookStruct MyKeyboardHookStruct = (KeyboardHookStruct)Marshal.PtrToStructure(
14 2023-03-13
编程技术问答社区
Java机器人类按土耳其字母(Ö, ö, Ş, ş, Ü, ü, Ğ, ğ, İ, ı, Ç, ç, Ə, ə)?
我在按Java机器人类中按特别信(土耳其语等)出现问题.我是一种按键的方法,该键可以用作alt+keyCode.我不能将一些特殊字母转换为当前密钥代码.所以我该如何解决. thanx 例如: KeyStroke ks = KeyStroke.getKeyStroke('ö', 0); System.out.println(ks.getKeyCode()); Output : 246 // So alt+0246='ö' //but if I convert 'ş' to keycode //Output is 351 . So alt+351= '_' and alt+0351= '_' //What is the Correct combination for 'ş'. same for 'Ş', 'ş','Ğ', 'ğ', 'İ', 'ı', 'Ə', 'ə' 按键: public void altNumpad(int... numpadCodes
6 2023-03-11
编程技术问答社区