标签: keyboard-events

你如何检查kivy的键盘事件?

所以,不久前,我开始自学kivy.我从主要的kivy网站开始,经历了它的pong制作教程,在完成后我决定尝试给它关键输入.我似乎无法找到任何关键输入指南与kivy!有人知道某种教程或者可以提供一些易于理解的代码吗?我确实看过kivy的examples文件夹中的Keyboard Listener,但是如果我应该的话,我不太清楚如何使用它.

谢谢你的帮助.

python keyboard-events kivy

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

Python跨平台监听按键?

我需要在python终端程序中监听某些按键而不暂停执行raw_input.我已经看到人们使用一些窗口特定的方式来听键击,我看到人们使用像tkinter和pygame这样的大模块,我想避免.

是否有一个轻量级模块,这个跨平台(至少ubuntu,Windows,Mac)?或者有没有办法只使用来自tkinter,pygame等的事件系统......?

如果没有,我应该如何解决这个问题呢?我的第一个想法是将stdin重定向到另一个进程并继续检查它是否包含我的一个事件键.


编辑

感谢@unutbu花时间标记这个3岁的问题,并成功回答了另一个问题的副本,其答案不适用于这个问题,因为我特别询问了一个非阻塞解决方案.

python keyboard-events

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

Android长按自定义键盘弹出键盘

我有自定义Android键盘:

    public class CustomKeyboard extends Keyboard{...}  

    public class CustomKeyboardView extends KeyboardView{...}

    public class CustomKeyboardIME extends InputMethodService implements KeyboardView.OnKeyboardActionListener{...}  
Run Code Online (Sandbox Code Playgroud)

在一些按键,我有popupKeyboardpopupCharacters:

<Key android:codes="144" android:keyLabel="0" android:popupKeyboard="@xml/key_popup" android:popupCharacters=")" android:keyEdgeFlags="right"/>
Run Code Online (Sandbox Code Playgroud)

XML/key_popup.xml:

<Keyboard xmlns:android="http://schemas.android.com/apk/res/android"
      android:keyWidth="10%p"
      android:horizontalGap="0px"
      android:verticalGap="0px"
      android:keyHeight="@dimen/key_height" >
</Keyboard>
Run Code Online (Sandbox Code Playgroud)

但是当我长按"0"键弹出")"显示时,它会一直保持在那里直到我按下"X"按钮或")"字符.它看起来像这样:
我的键盘

而且我希望它只在我按住手指时打开.像三星或HTC键盘上的东西:
三星键盘

有谁可以帮助我吗?

编辑至少可以改变这个弹出窗口的外观吗?我希望它具有与我制作的整个键盘相同的背景和键

keyboard android keyboard-events android-softkeyboard android-input-method

18
推荐指数
1
解决办法
5001
查看次数

检测用户在WPF中按F10

我的WPF应用程序具有由功能键(F1- F12)触发的行为.

我的代码是这样的:

private void Window_KeyDown(object sender, KeyEventArgs e)
{
    switch (e.Key)
    {
        case Key.F1:
        ...
        case Key.F2:
        ...
    }
}
Run Code Online (Sandbox Code Playgroud)

这适用于所有F键,除了F10.调试时,我发现e.Key == Key.System当用户按下时F10.

在枚举定义,F10 = 99并且System = 156,这样我就可以排除它是一个重复的枚举值(像PageDown = Next = 20).

那么,如何判断用户何时按下F10

Key.System相反,检查是否安全?这感觉有点脏 - 可能是Key.System因为某些其他键被按下而导致的?或者是否有某些设置将F10报告作为Key.F10

wpf keyboard-events

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

需要拦截HID键盘事件(然后阻止它们)

我有一个RFID USB设备注册为HID设备(或多或少的USB键盘).

我正在寻找一种捕获此输入的方法,并在它到达普通键盘事件处理程序之前阻塞/过滤它(并将10位RFID代码输出到控制台).

我当然必须专门捕获这个设备,并留下真正的键盘输入(或传递它).

我最初的想法是在UDEV中阻止设备(所以usbhid/event/kbd内核模块没有绑定它)并为这个设备编写我自己的基本驱动程序 - 但我不知道从哪里开始,或者如果那样甚至会工作.

什么是伟大的(我不确定是否可以这样做) - 如果我编写一个事件过滤器模块,可以与事件驱动程序保持一致并捕获(然后过滤)来自RFID单元,但让其他一切都通过.我想这样一个模块不需要太多代码,而且最实用.

救命?

[编辑:我应该补充说没有安装Xorg - 仅限控制台]

cat /proc/bus/input:
  I: Bus=0003 Vendor=0419 Product=0912 Version=0100
  N: Name="NewRoad Sem. NewRoad System PS2 Interface"
  P: Phys=usb-0000:00:1d.3-2/input0
  S: Sysfs=/devices/pci0000:00/0000:00:1d.3/usb5/5-2/5-2:1.0/input/input20
  U: Uniq=
  H: Handlers=sysrq kbd mouse0 event3
  B: PROP=0
  B: EV=120017
  B: KEY=70000 0 0 e080ffdf01cfffff fffffffffffffffe
  B: REL=103
  B: MSC=10
  B: LED=1f
Run Code Online (Sandbox Code Playgroud)

更多信息:

lsusb -d 0419:0912 -v
Bus 005 Device 019: ID 0419:0912 Samsung Info. Systems America, Inc.
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.00
  bDeviceClass …
Run Code Online (Sandbox Code Playgroud)

linux hid keyboard-events

17
推荐指数
3
解决办法
8668
查看次数

类型'NSNotification.Name'没有成员'keyboardDidShowNotification'

我用Swift 4.2得到了这个错误

类型'NSNotification.Name'没有成员'keyboardDidShowNotification'

这是我的代码:

NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardDidShow(notification:)), name: NSNotification.Name.keyboardDidShowNotification, object: nil)
Run Code Online (Sandbox Code Playgroud)

下面一个用Swift 4工作正常,但没有用Swift 4.2

NotificationCenter.default.addObserver(self, selector: #selector(self.keyboardDidShow(notification:)), name: NSNotification.Name.UIKeyboardDidShow, object: nil)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

Apple文档Ref:NSNotification.Name.keyboardDidShowNotification

keyboard-events nsnotificationcenter ios swift4.2

17
推荐指数
3
解决办法
2万
查看次数

如何捕获包含多个表单的页面上的输入键?

我继承了一个Web应用程序,其中在任何输入字段中按下return的常规功能已被禁用,原因很简单,该页面包含多个表单,并且应用程序无法确定(或者,所以我被告知哪种形式行动起来.应用程序的设计使得没有提交按钮(如输入类型="提交"),相反,设计人员已经进行了onclick处理.以下是在其中一个页面上定义的两个按钮,包括在内

<input type="button" value="LOGIN"  name="btnLoginOk" onclick="submit(); />"

<input type="button" class="button-click-grey" value="Find Link Partners"  
    onclick="raiseEvent('SubmitForm','',this);" style="cursor:pointer;" />
Run Code Online (Sandbox Code Playgroud)

但我真的希望能够允许用户按下返回,如果他们愿意,例如他们只是输入与LOGIN相关联的字段,然后检测并执行onclick ="submit();"

也许有一个jQuery的解决方案.

javascript jquery user-input return keyboard-events

16
推荐指数
2
解决办法
5万
查看次数

Windows应用商店应用中的页面全局键盘事件

我正在开发一款游戏,一种基于WPF的Windows应用商店应用,用C#编写.当玩家按下Esc键时,我想暂停游戏并显示一个菜单(继续,退出等).

听起来很简单.可悲的是,事实并非如此.

游戏的故事发生在一个Windows.UI.Xaml.Controls.Page和主要由数百Shape在A S Canvas,但没有一个单一的Button,TextBox否则任何支持键盘交互.唯一的互动是点击或点击形状.

我需要在整个页面上全局捕捉键盘事件,无论焦点是什么元素,或者根本没有任何焦点等等.每当按下Esc键时,必须触发一个事件.

我尝试了什么:

  • 使用事件Page.KeyDown或覆盖Page.OnKeyDown(KeyRoutedEventArgs e)(或KeyUp):不会触发,除非有一个元素,如TextBox键盘焦点.但是在我的UI中没有这样的元素.

  • 使用不可见(Opacity = 0和/或隐藏在Canvas下)TextBox作为黑客来使KeyDown工作:只要点击/点击Canvas或任何Shape,TextBox就会失去焦点并且黑客停止工作.因此,需要更多的黑客来保持焦点,这与其他东西(例如菜单按钮)有关.此外,TextBox偶尔会显示Windows软件键盘,这是非常不需要的.一个勉强工作,脆弱的黑客.

  • 使用InputGestures,KeyBinding等:不适用于Windows应用商店的应用程序.

任何想法或解决方案?

c# wpf keyboard-events windows-store-apps

16
推荐指数
2
解决办法
4340
查看次数

如何使用带有蓝牙键盘的iPad在JavaScript上检测箭头键

当使用蓝牙键盘时,我找不到在iPad和Chrome上的文本字段中检测箭头键的方法.
使用此测试HTML和JavaScript,触摸输入字段以使其获得焦点.
使用箭头键没有任何反应,但输入字母和数字以及keydown事件.

<!DOCTYPE html>
<html>
<head>
  <title>Test page.</title>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.4/jquery.min.js"></script>
</head>
<body>
  <form>
    <input id="input" style="width: 600px;" type="textarea" />
  </form>
  <div id="keydisp" style="width 600px; height: 50px"></div>
  <script type="text/javascript">
    $(document).keydown(function(event) {
      var keyCode = event.which;
      document.getElementById("keydisp").innerHTML = "key pressed: " + keyCode;
    });
  </script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

有可能检测到箭头吗?

javascript jquery keyboard-events ipad ios

15
推荐指数
1
解决办法
3993
查看次数

键盘上的NSNotificationCenter Swift 3.0显示和隐藏

我试图在键盘显示和消失时运行一个函数,并具有以下代码:

let notificationCenter = NotificationCenter.default
notificationCenter.addObserver(self, selector: #selector(ViewController.keyBoardUp(Notification :)), name:  NSNotification.Name.UIKeyboardWillShow, object: nil)
Run Code Online (Sandbox Code Playgroud)

以下功能keyBoardUp:

func keyBoardUp( Notification: NSNotification){
    print("HELLO")
}
Run Code Online (Sandbox Code Playgroud)

但是,当键盘显示时,该功能不会打印到控制台.非常感谢帮助

keyboard-events nsnotificationcenter ios swift

15
推荐指数
4
解决办法
3万
查看次数