相关疑难解决方法(0)

我如何找出哪个程序“拥有”一个热键?

我在带有 4.2.0 内核的 Gentoo 之上运行 XFCE 4.12。我键盘上的 PlayPause 按钮​​曾经用作 VLC 的全局热键。现在 VLC 甚至无法识别密钥。它确实看到“Alt + Media Play Pause”,但不是单独的键。

有没有办法查看是否以及什么程序可能会捕获该密钥?

当我运行xdotool key "XF86LogGrabInfo"tail /var/log/Xorg.0.log文件中读取

[ 10138.690] (II) Printing all currently active device grabs:
[ 10138.690] (II) End list of active device grabs
Run Code Online (Sandbox Code Playgroud)

keyboard-shortcuts xfce x11 events

40
推荐指数
1
解决办法
5117
查看次数

强制指针松开的命令(捕获的鼠标释放)

有时 Firefox 在拖动后不会释放鼠标,因此我需要终止应用程序以强制它释放指针抓取。

是否有任何命令可以强制应用程序在不杀死指针的情况下取消抓取指针?

command-line xorg firefox mouse

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

查找 X.org 指针抓取所有者

我有一个应用程序似乎抓住了鼠标(我可以移动它但不能点击任何地方),有没有办法找到哪个应用程序拥有 X.org 鼠标抓取?

这里给出的释放鼠标的快捷方式似乎不起作用,所以我对可以提供更多信息的东西很感兴趣。

x11

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

如何通过挂起的不可杀死的应用程序从抓取中释放键盘和鼠标?

假设我有一个 X 应用程序,它使用键盘和鼠标作为其正常操作模式(例如 QEMU),但是由于某个地方的错误,它非常难以挂起(例如陷入磁盘睡眠)。通常我会kill(1)从远程终端杀死一个应用程序,但如果应用程序处于磁盘睡眠模式,它就不能真正被杀死。我可以通过xkill实用程序终止此应用程序与 X 服务器的连接,但是这次我不能这样做,因为鼠标被抓住了,因此xkill将无法运行。

那么,如果我愿意牺牲这个客户端,但我无法通过操作系统的方式杀死它,我如何从 X 客户端的抓取中释放我的键盘和鼠标?

keyboard x11

16
推荐指数
1
解决办法
5606
查看次数

找出哪个应用程序侦听特定的键绑定?

是否有应用程序知道哪个密钥受哪个进程绑定,因此不能在另一个应用程序中使用?

keyboard-shortcuts x11

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

什么是抓住我的 Ctrl+s 键?

刚刚升级到 Linux Mint 18.1 KDE(Plasma 5.8.5,Qt 5.6.1)除了我以前从未遇到过的奇怪问题外,一切都很好。某些东西在 X-window 级别上抓取了我的“Ctrl+s”序列,因为它从未达到应用程序级别。因此,例如“Ctrl+s”和“Ctrl+x Ctrl+s”标准 emacs 键都不起作用。即使在更典型的 KDE 程序中,“Ctrl+s”序列也已失效。我想这也可能是 KDE 框架,但没有定义为 Ctrl+s 的全局热键(我已将全局 Ctrl+s 移至 Ctrl+Shift+s)

这是铃声;它只是死了的“Ctrl + s”序列。所有其他的,据我所知,Ctrl 键按预期工作。

从 running 中可以获得一些关于正在发生的事情的线索xev。键入 Ctrl+s 生成以下序列

KeyPress event, serial 40, synthetic NO, window 0x3400001,
    root 0x4c4, subw 0x0, time 14783934, (-711,685), root:(1159,750),
    state 0x0, keycode 37 (keysym 0xffe3, Control_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

FocusOut event, serial 40, synthetic NO, window 0x3400001,
    mode NotifyGrab, detail NotifyAncestor …
Run Code Online (Sandbox Code Playgroud)

kde keyboard-shortcuts keyboard

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

查找对给定键绑定做出反应的进程

有没有办法知道哪些进程正在侦听给定的键绑定?

例如,假设我想知道当我按 Ctrl+g 时哪些程序会执行某些操作。我猜X服务器管理这个,但是我如何查看监听事件?

需要明确的是,我不是问如何在 X 上设置键绑定,而是问如何找到在使用某种按键组合(或与此相关的鼠标事件)时将执行某些操作的所有进程,可能使用命令行工具。

x11

5
推荐指数
1
解决办法
270
查看次数

无法使用 shift 键输入大写字母

在某些应用程序中,输入大写字母的作用类似于按 ESC 键。

再现:

  • 打开 LibreOffice 文档
  • 选择“另存为”(Unity 对话框)
  • 点击“创建文件夹”
  • 使用 shift 键输入大写字母(例如 Shift+A)

此时,新文件夹的创建被取消。(如 ESC 键被击中)

这种行为也存在于许多不同的程序和游戏中。

使用xev(按 Shift+d)分析情况

# xev
KeyPress event, serial 37, synthetic NO, window 0x4c00001,
    root 0x259, subw 0x0, time 994702, (15,-13), root:(987,197),
    state 0x10, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

FocusOut event, serial 37, synthetic NO, window 0x4c00001,
    mode NotifyGrab, detail NotifyAncestor

FocusIn event, serial 37, synthetic NO, window 0x4c00001, …
Run Code Online (Sandbox Code Playgroud)

keyboard-shortcuts keyboard x11

3
推荐指数
1
解决办法
2234
查看次数

标签 统计

x11 ×6

keyboard-shortcuts ×4

keyboard ×3

command-line ×1

events ×1

firefox ×1

kde ×1

mouse ×1

xfce ×1

xorg ×1