标签: arrow-keys

在iOS应用程序中,如何检测用户是否按下了外部键盘上的某个箭头键?

我有几个iOS应用程序,它们提供了固有的线性组织信息,允许用户通过屏幕控制向前和向后移动数据.我想允许使用键盘底座或配对蓝牙键盘的用户使用箭头键来回移动.由于应用程序是全屏的,因此用户体验非常重要,因为没有显示屏幕键盘作为副作用的风险.

我找不到可以在Apple的文档中执行此操作的API; 但我无法确定我是否使用了正确的搜索字词.

哪些API可以让我实现这一目标?

更新:我已将此作为Apple错误报告网站的增强功能.

keyboard bluetooth arrow-keys ios

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

如何组合箭头以突出显示列表中的项目?(jQuery的)

我有一堆<DIV>兄弟姐妹,我想让用户使用向上和向下箭头在列表中上下移动并"突出显示"一个项目.在任何给定时刻只应突出显示一个项目.

最简单的方法是什么?

html javascript css jquery arrow-keys

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

JS ArrowDown循环中的几个元素的addEventListener(演示)

对键盘ArrowDown事件有以下监听器(它的关键代码是40):

window.onload = function() {    
var itemsContainer = document.getElementById('cities-drop');
document.addEventListener('keyup',function(event){
if (event.keyCode == 40 && itemsContainer.style.display=='block') {
event.preventDefault();
    for (var i=0;i<itemsContainer.children.length-1;i++){
        if (itemsContainer.getAttribute('class').substr('hovered')!=-1){
            itemsContainer.children[i].setAttribute('class','');
            itemsContainer.children[i].nextSibling.setAttribute('class','hovered');
                //break;
                }
            }
        }
    });
Run Code Online (Sandbox Code Playgroud)

在这种情况下hovering,ArrowDown按下后跳转到列表中的最后一个元素.

如果break取消注释,它会跳转到第二个元素并且不再跳跃.

无法得到原则,怎么做,听众总是听...

编辑 现场演示
或许,这是一个关闭的问题,但我不确定

javascript events loops listener arrow-keys

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

有些键盘比其他键盘更加啰嗦吗?

首席开发人员表示,当他使用我的应用程序时,当他通过方向箭头键在TableLayoutPanel上的TextBoxes之间移动时,他的键盘会发出蜂鸣声.

但是,我听不到这种听觉活动.

这是我的代码:

// Had to intercept Up and Down arrows from Windows
private void textBoxPlatypi_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) {
    TextBox tb = (TextBox)sender;

    if (e.KeyCode.Equals(Keys.Up)) {
        SetFocusOneRowUp(tb.Name);
        return;
    }
    if (e.KeyCode.Equals(Keys.Down)) {
        SetFocusOneRowDown(tb.Name);
        return;
    }
}

private void textBoxPlatypi_KeyDown(object sender, KeyEventArgs e) {
    TextBox tb = (TextBox)sender;

    if (e.KeyCode.Equals(Keys.Left)) {
        SetFocusOneColumnBack(tb.Name);
        e.Handled = true;
        return;
    }
    if (e.KeyCode.Equals(Keys.Right)) {
        SetFocusOneColumnForward(tb.Name);
        e.Handled = true;
        return;
    }
}
Run Code Online (Sandbox Code Playgroud)

..他想也许我需要"e.Handled",但这在PreviewKeyDown事件中不可用.

有没有办法抑制哔哔声(这显然只发生在某些键盘或特定设置上(他使用的是Windows7,我还在使用XP))?

UPDATE

我现在有了这个代码:

private void textBoxPlatypus1_PreviewKeyDown(object sender, PreviewKeyDownEventArgs e) {
    switch (e.KeyCode) …
Run Code Online (Sandbox Code Playgroud)

c# keyeventargs beep arrow-keys winforms

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

如何通过箭头键禁用焦点更改

我有几个控件(按钮,groupboxes等)和一个大的WPF窗口Viewport3DBorder.

视口显示3D场景,我希望箭头键移动其相机.问题:箭头键总是将焦点更改为另一个UIElement.

如何通过箭头键禁用焦点更改并让它们改变相机位置?

c# wpf focus wpf-controls arrow-keys

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

macOS Sierra - 按住箭头键时移动光标的方法

当我按住左或右箭头键时,有没有办法移动光标.在以前的OSX版本中它曾经工作过.在我更新到Sierra之后,当我按住箭头键时,我的光标没有移动.

arrow-keys macos-sierra

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

如何使用java在控制台窗口中实现基本的箭头键移动?

我正在努力寻找一种在控制台窗口中实现基本箭头键移动的方法.我遇到过一个只使用switch语句和一些变量的C#脚本,但我的老师坚持使用Java.

从其他一些主题来看,答案似乎都说在Java中是不可能的,除非你安装了某些(如果我错了,请纠正我)"框架",如JNA和/或Jline,但作为一个初学者,我不知道那些东西甚至是什么意思.

现在在你说我的老师是一个白痴,因为我认为我们可以做到这一点,他从来没有说过它必须是箭头键运动,我只是觉得它很酷:)

java console-application direction arrow-keys

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

箭头键事件未到达

基本上,我有一个带有自定义控件的表单(没有别的).自定义控件完全为空,表单将KeyPreview设置为true.

使用此设置,我没有收到任何箭头键或Tab的任何KeyDown事件.键盘上的其他每个键都有效.我有KeyDown事件处理程序连接到具有此类事件的所有内容,因此我确信我没有遗漏任何内容.

另外值得注意的是,如果我删除(完全空)自定义控件,我会得到箭头键事件.

这到底是怎么回事?

编辑:

我将此添加到窗体和控件中,但我仍然没有获得箭头键:

protected override void WndProc(ref Message m) {
    switch (m.Msg) {
        case 0x100: //WM_KEYDOWN
            //this is the control's version. In the form, it's this.Text
            ParentForm.Text = ((Keys)m.WParam).ToString();
            break;
    }
    base.WndProc(ref m);
}
Run Code Online (Sandbox Code Playgroud)

我还检查了Spy ++,并确定表单本身没有得到任何WM_KEYDOWN消息,它们都是控件.但是,也就是说,控件IS获取箭头键WM_KEYDOWN消息.叹.

编辑2:我还用这个版本更新了ZIP文件.请看看它,如果你想帮忙......

编辑3:

我已经想到了这一点.表格正在吃箭头键,可能是为了保持孩子们的注意力.事实证明,如果表格为空,我会收到事件.

无论如何,如果我将此代码添加到表单中,我会再次开始获取事件:

public override bool PreProcessMessage(ref Message msg) {
    switch (msg.Msg) {
        case 0x100: //WM_KEYDOWN
            return false;
    }
    return base.PreProcessMessage(ref msg);
}
Run Code Online (Sandbox Code Playgroud)

当我覆盖它时,表单没有机会完成它的脏工作,所以我得到了我期望的KeyDown事件.我认为这样做的副作用是我不能再使用我的键盘来导航表格(在这种情况下不是很大,因为它是一个游戏,这个练习的全部目的是实现键盘导航!)

如果有办法,问题仍然是关于如何"正确"禁用这个问题......

c# custom-controls arrow-keys winforms

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

KeyDown识别左右方​​向箭头键,但不能上下

使用下面的代码,左箭头键和右箭头键按预期运行,但不识别向上和向下箭头(单步执行它,在适当的情况下满足前两个条件,但后两个条件永远不会):

private void textBox1_KeyDown(object sender, KeyEventArgs e) {
    TextBox tb = (TextBox)sender;

    if (e.KeyCode.Equals(Keys.Left)) {
        SetFocusOneColumnBack(tb.Name);
        e.Handled = true;
        return;
    }
    if (e.KeyCode.Equals(Keys.Right)) {
        SetFocusOneColumnForward(tb.Name);
        e.Handled = true;
        return;
    }
    if (e.KeyCode.Equals(Keys.Up)) {
        SetFocusOneRowUp(tb.Name);
        e.Handled = true;
        return;
    }
    if (e.KeyCode.Equals(Keys.Down)) {
        SetFocusOneRowDown(tb.Name);
        e.Handled = true;
        return;
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么会这样,我该如何解决?

UPDATE

这是我在踩过e.Keycode时看到的内容.如果我按下

  • ...左箭头键,我看到: e.KeyCode = "LButton | MButton | Space"
  • ...右箭头键,我看到: e.KeyCode = "LButton | RButton | MButton | Space"
  • ......向上箭头键,我看到: e.KeyCode = "RButton | MButton | Space"
  • ...向下箭头键,我看到: e.KeyCode …

c# keycode keydown arrow-keys winforms

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

在Visual Studio编辑器中按<ALT> + <ARROW_KEYS>写入单个ASCII字符

我使用VS2013作为我的IDE,自从我安装它以来,在按下ALT和任何箭头键时非常奇怪.我使用ALT + LEFT和ALT + RIGHT导航向前/向前导航,但是一旦VS完成跳转,它就会写出一个字符.

这是在跳跃之前:

在跳跃之前

这是在跳转后/按下ALT + LEFT之后: 跳后

这些是正在写的字符:

  • ALT + UP:◘
  • ALT +右:♠
  • ALT + DOWN:☻
  • ALT + LEFT:♦

我一直在使用VS2013工作,我以前从未见过这个.我知道按ALT + NUMPAD_KEYS产生ASCII字符,但为什么我的箭头键只发生在VS中呢?对我来说显然ALT + UP与按ALT + 6(http://www.irongeek.com/alt-numpad-ascii-key-combos-and-chart.html)相同.我实际上换掉了我的键盘,看看它是否与此有关.没有快乐.

有任何想法吗?

更新1:
看起来这个人有一个类似的问题,但在Windows上使用Eclipse:
https://superuser.com/questions/668394/turn-off-alt-numeric-keypad-ascii-symbol-insertion
可悲的是他的帖子没有答案.

更新2 /解决方案:

根据'Hans Passant'的评论,我找到了解决方案.请参阅下文了解详情.

ascii arrow-keys alt-key visual-studio-2013

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