我有一个实用程序,我用作伪"shell".它基本上是while()的stdin for commands并通过不同的子程序运行它们.
我的问题是,是否有一个模块或一些例子我可以用来捕获向上箭头以便我可以让它执行某个动作?我打算合并一个类似于bash的前一个命令函数.
现在,如果我按向上箭头我得到这个:
patrick@utility$ ^[[A^[[A^[[A^[[A
Run Code Online (Sandbox Code Playgroud)
提前致谢.
假设每次用户按下ID为"txt"的textarea中的键时,我都会调用以下jQuery的Web应用程序:
$('#txt').keydown(function(e) {
console.log(e.which); // shows the keyCode
console.log(e.shiftKey);
}
Run Code Online (Sandbox Code Playgroud)
在桌面浏览器上,对于像(和这样的字符9,我可以通过检查是否按住shift键来区分两者(使用e.shiftKey).但是,在Safari for iPad中,键入这些字符不需要Shift键.因此,例如,按下iPad键盘上的两个键(并9在keyCode的控制台中记录"57".为e.shiftKey记录的值始终显示为false.
我如何能够可靠地区分在iPad上键入移位字符?提前致谢!
有时,普通的计算机键盘只能同时接受用户输入到某个键.我有一个罗技键盘,可以同时接受最多3-4次按键.如果您按下此键盘的4个以上键,计算机将不再接受任何输入.它还取决于键盘的某些区域.某些位置允许按下更多键(如箭头键),而某些位置允许您仅按1-2键.这也是键盘与键盘的不同之处.一些较旧的键盘只接受1-2个键.
对于通常的办公室工作来说这不是问题,但是涉及到游戏.例如,想象一下平台游戏,你必须同时跳跃,攻击和控制方向.这意味着几次按键,一些键盘不能接受这种同时输入.但是,我已经在几款游戏中尝试了这一点,并且可能的键盘输入数量似乎也不同.因此,我们有两个问题:
起初,我认为这只是硬件问题,但为什么有些程序表现不同?为什么某些程序可以接受比其他程序更多的键盘输入?那么我们如何编写程序来接受更多的键盘输入呢?
我正在使用phonegap开发android应用程序.目前我面临一个inputbox特定HTC Android设备问题的问题,我有一个解决方案.但我需要知道键盘关闭事件何时发生.
所以我的问题是如何检测键盘关闭事件与phonegap或任何可用于检测Android设备键盘事件的插件.
请帮忙.提前致谢.
我遇到的问题是,当用户按下K_UP键和K_RIGHT键或K_UP键和K_DOWN键等时,我试图让我的角色在屏幕上对角移动.这是我的角色移动代码(事件)处理):
1. #Event Handling
2. for event in pygame.event.get():
3. if event.type == pygame.QUIT:
4. sys.exit()
5. elif (event.type == KEYDOWN):
6. if ((event.key == K_ESCAPE)
7. or (event.key == K_q)):
8. sys.exit()
9. if (event.key == K_UP):
10. self.char_y = self.char_y - 10
11. if (event.key == K_DOWN):
12. self.char_y = self.char_y + 10
13. if (event.key == K_RIGHT):
14. self.char_x = self.char_x + 10
15. if (event.key == K_LEFT):
16. self.char_x = self.char_x - 10
Run Code Online (Sandbox Code Playgroud) 我在Delphi中遇到以下问题(但它可能被视为一般编程问题).
我想以某种方式处理多个非修饰键组合的按键事件,例如对于A+ D或D+ F或D+ F+ 这样的快捷方式G.
我知道如何处理带有修饰键的快捷键,例如CTRL+ D或CTRL+ ALT+ D或ALT+ D,但是如何检测非修饰键按键组合?
delphi textbox keyboard-shortcuts onkeypress keyboard-events
我使用的是Mac OS X 10.6,我的键盘输入选择器菜单中有Dvorak,US Extended和Norwegian,而我使用的是US Extended.
当我用键盘输入运行Pygame程序时,pygame似乎认为我正在使用dvorak 而不管实际选择了什么.
这是获取键盘输入的代码的一部分:
# Check for events
for event in pygame.event.get():
if event.type == KEYDOWN:
# Change the keyboard variables
if event.key == K_LEFT or event.key == ord('a'):
moveRight = False
moveLeft = True
if event.key == K_RIGHT or event.key == ord('d'):
moveLeft = False
moveRight = True
if event.key == K_UP or event.key == ord('w'):
moveDown = False
moveUp = True
if event.key == K_DOWN or event.key == ord('s'):
moveUp = False …Run Code Online (Sandbox Code Playgroud) 切换到全屏模式(在chrome和safari上测试)后,我无法在文本输入中键入任何字母或数字,但我仍然可以输入特殊字符,*¨%£但没有简单的字母......
代码非常简单:
HTML
<button type="button" id="fullScreen">LAUNCH FULLSCREEN</button>
<input type="text" />
Run Code Online (Sandbox Code Playgroud)
JS
function launchFullScreen(element) {
if(element.requestFullScreen) {
element.requestFullScreen();
} else if(element.mozRequestFullScreen) {
element.mozRequestFullScreen();
} else if(element.webkitRequestFullScreen) {
element.webkitRequestFullScreen();
}
}
document.getElementById("fullScreen").addEventListener("mousedown", function(){
launchFullScreen(document.documentElement);
}, false);
Run Code Online (Sandbox Code Playgroud)
正如Jan Dvorak所提到的,只有在使用js函数时才会出现问题,使用浏览器内置全屏按钮/快捷方式时不会出现错误
看到它的实际效果:
http://jsfiddle.net/QwqT7/show/
更新2:
刚刚在Firefox for Mac上测试过,在全屏模式下没有问题.似乎问题只是webkit.
我尝试在特定的模拟Enter中.这是我的代码:JavaScriptTextArea
function enter1() {
var keyboardEvent = document.createEvent('KeyboardEvent');
var initMethod = typeof keyboardEvent.initKeyboardEvent !== 'undefined' ? 'initKeyboardEvent' : 'initKeyEvent';
keyboardEvent[initMethod]('keydown', // event type : keydown, keyup, keypress
true, // bubbles
true, // cancelable
window, // viewArg: should be window
false, // ctrlKeyArg
false, // altKeyArg
false, // shiftKeyArg
false, // metaKeyArg
13, // keyCodeArg : unsigned long the virtual key code, else 0
13 // charCodeArgs : unsigned long the Unicode character associated with the depressed …Run Code Online (Sandbox Code Playgroud) 我想要映射:
我已经详尽地搜索了任何可以完全自由地重新映射键盘输入的工具,但却无法找到.(Windows有AutoHotkey).
我打算编写自己的工具来解析配置文件.
但是如何实际挖掘并做到这一点?
解决这个问题需要彻底了解通过操作系统进行击键的过程,以便在适当的时候进行拦截.
我想我需要在低级别处吃掉事件,它仍然是一个虚拟密钥代码,然后提供我自己的自定义映射系统并在系统中进一步注入适当的事件.
但在哪里(以及如何)?
编辑:我在下面的答案中详述了我的研究结果(可能应该在某个时候将其迁移回问题).
keyboard-events ×10
javascript ×4
pygame ×2
python ×2
android ×1
cordova ×1
delphi ×1
dom-events ×1
dvorak ×1
enter ×1
events ×1
fullscreen ×1
hook ×1
html ×1
ipad ×1
key-bindings ×1
keyboard ×1
macos ×1
onkeypress ×1
perl ×1
simultaneous ×1
textbox ×1
user-input ×1