AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / ubuntu / 问题

问题[events](ubuntu)

Martin Hope
Martin
Asked: 2020-09-06 10:34:36 +0800 CST

从输入事件中读取 IR 代码

  • 0

我有一个带有内置红外接收器并在 ubuntu 20.04 上运行的 intel nuc7pjyh。在不使用 lirc 和 lircd 的情况下,我想用 python 读取 IR 命令。使用 ir-keytable,我设置了一些 ir-codes->keys。

我正在这样做:

import evdev
device = evdev.InputDevice('/dev/input/event12')
for event in device.read_loop():
    print(evdev.categorize(event))

“event12”是硬编码的,我是从 ir-keytable 得到的。我如何知道我必须在 event12 上收听才能获取 IR 代码?

events
  • 1 个回答
  • 505 Views
Martin Hope
vdegenne
Asked: 2019-12-21 03:20:03 +0800 CST

在窗口更改时执行脚本

  • 1

当活动窗口发生变化时,是否有一种简单的方法来执行脚本?Xorg和Wayland
是否有通用解决方案?

我的目标是执行一个脚本,该脚本将确定当前窗口更改时是否执行另一个脚本。

换句话说,当我更改活动窗口时(忽略事件类型:鼠标事件或键盘事件,...),脚本应该被执行。
[然后脚本验证当前窗口名称并在它与特定模式匹配时执行脚本(例如“当前窗口是互联网浏览器吗?”)。但这部分是不可能的。]

你会怎么做?
我正在考虑制作一个轮询守护程序(每 0.5 秒),它运行脚本并在其中使用xdotool来获取窗口的名称。
但我再次希望听到更多的想法。

提前致谢。

scripts command-line events fedora
  • 1 个回答
  • 354 Views
Martin Hope
vroom
Asked: 2019-03-02 19:46:27 +0800 CST

检查 acpi 键绑定并将键盘按键事件重新映射到 acpi 事件

  • 2

我有两个安装了 Ubuntu 18.04.1 的系统。两者具有相似的硬件和软件配置,但其中一个暂停到 SBTN 新闻事件,而另一个什么也不做。我检查了 gsettings 并且两者都有相似的 org.gnome.settings-daemon.plugins.power 配置。我想知道与 SBTN 键事件相关的完整键绑定。

我如何以及在哪里可以检查这些?

另外,如何将键盘按键事件(比如暂停/中断按钮的键码 127)重新映射到 SBTN 按钮/PWBN 按钮?

如何将系统挂起操作映射到键盘暂停/中断按钮?

PS:我正在使用 acpi_listen 收听 PWBN 和 SBTN 按键事件,并且我能够看到按键。为了检查键盘事件,我正在使用 xinput 测试。此外,我需要在暂停操作后使用相同的按键使系统恢复正常。

keyboard suspend events remapping
  • 2 个回答
  • 1147 Views
Martin Hope
res
Asked: 2018-06-30 10:54:40 +0800 CST

计算键入的键和鼠标点击次数

  • 1

我有 ubuntu 16.04。

出于好奇,有没有办法查看您点击了多少,和/或您在一段时间内按下了哪些键?

像系统日志或类似的东西,可以在每个应用程序/程序中注册事件。

现在,我不想安装键盘记录器,我正在寻找一些与系统相关的事件。

所需日志的示例:

今天我按了

  • 左键点击 13.854 次
  • 回车键 983 次
  • 空格键 15.368 次
  • 控制键 4.568 次
  • ...
events 16.04
  • 2 个回答
  • 996 Views
Martin Hope
Christian Eriksson
Asked: 2018-02-28 04:55:26 +0800 CST

我可以在没有轮询的情况下对窗口打开的事件采取行动吗?

  • 15

我正在尝试找到一种方法来检测在 Ubuntu 16.04 中打开窗口(任何窗口)的事件

我希望能够检测到“窗口打开”事件并检查打开的窗口是否是我寻找的窗口,然后运行 ​​bash 脚本或 C/C++ 函数。

到目前为止,我发现我可以使用wmctrl -l它来查找已打开的窗口。我可以使用这个命令,也许grep可以找到我寻找的窗口是否打开,然后根据这些信息采取行动。

我不想轮询,因为我不希望应用程序在窗口打开时处于空闲状态。该动作应尽可能“即时”。

有没有我可以听的事件或信号来实现这一目标?从内核、窗口管理器(Compiz)或者可能是一些更改的日志文件?

编辑: 澄清一下,我有一个应用程序(不在我的控制之下),它可能随时显示一个窗口,这个窗口没有标题,但它确实设置了 WM_CLASS(WM_CLASS 对于应用程序的所有窗口都是相同的)。我想在显示此窗口(或创建,以最好/更容易者为准)的情况下采取行动。

窗口似乎没有在主应用程序窗口“内”打开。使用xwininfo -children -id <window-id>表明主应用程序和寻找的窗口位于不同的分支上,连接到“根窗口”。

分支看起来像这样,其中 R 是“根节点”;A 是主应用程序分支的根节点,Y 是寻找窗口 W 的分支的根:

    R
   / \
  A   Y
 /\    \
B  C    X
    \    \
     Q    W

所以我希望我能找到YXW的独特结构

我不确定我是否必须听取所有窗口,但我假设我必须检查“根窗口”中发生的情况并尝试找到寻找的窗口。

bash events window c c++
  • 2 个回答
  • 3708 Views
Martin Hope
Jakub Arnold
Asked: 2010-12-12 11:32:22 +0800 CST

如何收听全局按键事件?

  • 4

我想为自己创建一个非常小的应用程序,每次我按下键盘上的键时它都会播放声音。我不需要知道键盘上的哪个键被按下,我只需要以某种方式知道它发生了。

键盘上的按键是否有任何全局系统挂钩?

keyboard events
  • 1 个回答
  • 2032 Views
Martin Hope
Vikash
Asked: 2010-12-09 01:43:56 +0800 CST

浏览器自动刷新并打开主文件夹窗口

  • 8

我面临一个非常奇怪的问题。出乎意料的是,我的浏览器开始无限刷新自己。我的第一个猜测是 Firefox 搞砸了。我安装了铬。但是,它也发生在 chrome 中。

除此之外,有时我的主文件夹会自动打开并无限地打开。我的下一个猜测是鼠标有问题。更换鼠标 - 但同样的事情。

即使我卸下键盘,也会发生这种情况。

可能是什么原因?这在我几天前安装 Ubuntu 10.10 后开始发生。早些时候在 Windows 上,一切正常。所以,我有点怀疑这是硬件故障。

如何解决这个问题?

更新:

xev 给出了这样的结果:

KeyPress 事件,序列号 36,合成 NO,窗口 0x4200001,root 0xb8,subw 0x0,时间 29897358,(237,791),root:(1252,842),状态 0x10,keycode 65(keysym 0x20,空格),same_screen YES,XLookupString 给出1 个字节:(20)"" XmbLookupString 给出 1 个字节:(20)"" XFilterEvent 返回:False

KeyRelease 事件,序列号 36,合成 NO,窗口 0x4200001,root 0xb8,subw 0x0,时间 29897603,(237,791),root:(1252,842),状态 0x10,keycode 65(keysym 0x20,空格),same_screen YES,XLookupString 给出1 个字节:(20)“” XFilterEvent 返回:False

keyboard hardware events evdev
  • 1 个回答
  • 435 Views
Martin Hope
Oli
Asked: 2010-08-28 04:18:51 +0800 CST

Alt+Printscreen 停止工作,如何找到监听事件的进程

  • 7

今天很奇怪的问题。我打算发布一个关于另一个问题的帖子,并想截取终端窗口的屏幕截图。我做好了一切准备,点击Alt+Printscreen并没有发生任何事情。

我进入了键盘快捷键,看看重新定义快捷键是否有效。它做了。我试图将其设置回Alt+Printscreen但窗口只是坐在那里听按键。就好像我从来没有按过钥匙一样。

Alt和键都Printscreen可以独立工作......我还尝试查看xev按下键时的输出。它听到 Alt 按下,但之后没有听到 Printscreen。

我已经在 Compiz 和普通的 metacity 中尝试过这个。我还有一个备用键盘,它显示出相同的行为(一个键盘是 PS/2,备用键盘是 USB - 所以不是端口问题)。

就好像事件链中有东西在事件上吐痰,所以没有其他人可以听到它。我的问题基本上是:如何找到响应某些事件的进程?

按照要求:

oli@bert:~$ xmodmap -pke | grep -i mode
keycode  82 = KP_Subtract XF86_Prev_VMode KP_Subtract XF86_Prev_VMode
keycode  86 = KP_Add XF86_Next_VMode KP_Add XF86_Next_VMode
keycode 100 = Henkan_Mode NoSymbol Henkan_Mode
keycode 203 = Mode_switch NoSymbol Mode_switch

和

oli@bert:~$ xmodmap -pke | grep -i print
keycode 107 = Print Sys_Req Print Sys_Req
keycode 218 = Print NoSymbol Print

编辑:当我发布这篇文章时,我正在使用自制的 2.6.35 内核在 Lucid 上。事实证明我的问题与内核有关,而不是 X。

某个地方的某个人决定 alt-printscreen 应该呈现一个 SysRq 事件。从技术上讲,也许应该这样做,但这打破了 Linux 和 Windows 十多年来的“已知行为”。

keyboard shortcut-keys events
  • 4 个回答
  • 7866 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve