标签: xbindkeys

如何更改键盘上的按键功能?(如何创建自定义键盘命令/快捷方式?)

我想更改键盘上某些键的键绑定。我想要一些运行命令,而其他一些来激活不同的键。

我可以使用哪些应用程序来执行此操作?


指数:


我仍在使用 dconf 和任何其他方法寻找答案。

keyboard-layout shortcut-keys xmodmap xkb xbindkeys

151
推荐指数
9
解决办法
20万
查看次数

如何在启动时自动重新映射鼠标上的按钮?

周末我为此苦苦挣扎,需要重新映射我的鼠标按钮。

mouse xinput xte xbindkeys

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

Logitech MX Master Thumb Button with Ubuntu

目标

我想让我的 Logitech MX Master 鼠标上的拇指按钮Ubuntu 17.10下工作。具体来说,我希望它用作“元”键,我的意思是按下它会显示当时所有打开的程序(这在 Mac 计算机中称为 exposé)。

我很困在这一点上。我不是高级用户,需要一些帮助。先感谢您!

到目前为止我尝试过的:

  • 我已尝试遵循本指南。我安装xbindkeysxautomationx11-utils。不幸的是,因为拇指按钮不会在 xev 中发出特定的按钮按下,所以我无法前进。
  • 我也尝试过使用Arch Linux 论坛中的本指南。作者正确地识别出按钮不是作为按钮接收的,而是似乎是一些合成按键。我尝试复制和粘贴,但没有奏效。

Xev 结果

这些是我xev用来映射按拇指按钮生成的输入时收到的结果。

FocusOut event, serial 38, synthetic NO, window 0x5000001,
    mode NotifyUngrab, detail NotifyPointer

LeaveNotify event, serial 38, synthetic NO, window 0x5000001,
    root 0x2a1, subw 0x0, time 18824278, (162,35), root:(1276,64),
    mode NotifyGrab, detail NotifyNonlinear, same_screen YES,
    focus NO, state 20

EnterNotify event, serial …
Run Code Online (Sandbox Code Playgroud)

mouse logitech xbindkeys

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

为什么这些 xte 命令在终端中有效,但在与 xbindkeys 绑定时无效?

xte当我在终端中运行此命令时,会触发 Expo 模式:

xte 'keydown Super_L' 'key S' 'keyup Super_L'
Run Code Online (Sandbox Code Playgroud)

但是,当我把它放在我的 .xbindkeysrc 文件中时:

"xte 'keydown Super_L' 'key S' 'keyup Super_L'"
  b:11
Run Code Online (Sandbox Code Playgroud)

当我单击按钮时没有任何反应。当我按下按钮 11 时,以下绑定使字母 X 出现在我的控制台中:

"xte 'key X'"
  b:11
Run Code Online (Sandbox Code Playgroud)

那么为什么世博绑定不起作用呢?


这是xbindkeys -n -v单击按钮 11 时的详细输出:

按钮按下!
e.xbutton.button=11
e.xbutton.state=16
"xte 'keydown Super_L' 'key W' 'keyup Super_L'"
    m:0x0 + b:11(鼠标)
窗口 2bb 的屏幕为 0
使用 fork+exec 调用启动程序
按钮释放!
e.xbutton.button=11
e.xbutton.state=16

什么也没有发生。这与xbindkeys执行命令的方式有什么关系吗?(fork+exec 调用)


尝试第二个。

博览会.sh:

#!/usr/bin/env bash
export DISPLAY=:0
xte 'keydown Super_L' 'key S' 'keyup Super_L'
Run Code Online (Sandbox Code Playgroud)

从命令行执行此脚本会激活 …

xorg shortcut-keys xte xbindkeys

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

如何使用 xbindkeys 将修饰符(例如 CTRL)映射到鼠标拇指按钮

这个问题已经被问到,但从未得到正确回答。与@Seth 通关后,我现在再次询问。这将使我能够更轻松地回答并可能修改问题。原始问题可以在这里找到:

将 Ctrl 和 Alt 映射到鼠标拇指按钮


问题:

虽然这是非常简单的任何按键动作映射到使用鼠标按钮xbindkeys会同xdotoolxte似乎多了很多问题映射一个修改键(如ALTCTRLSHIFT等)给它。

最终的解决方案应该允许仅使用鼠标CTRL +单击(例如,用于选择列表的多个条目)。

可以在 Stack Exchange 以及其他 Linux 相关论坛上找到解决此问题的几种可能方法。但是这些都没有按预期工作,因为它们会导致其他问题和副作用。

笔记:

下面的一些示例涉及带有Scheme语法的Guile并依赖于文件,而其他示例则依赖于具有各自语法的文件。我知道他们不会一起工作。.xbindkeysrc.scm.xbindkeysrc

此外,下面的片段xdotool仅依赖于,但我对涉及其他应用程序的方法持开放态度,例如xte,尽管它似乎都导致相同的结果,因此我在xdotool这里只使用操作。

方法一:

使用以下内容更新.xbindkeysrc文件:

"xdotool keydown ctrl"
  b:8

"xdotool keyup ctrl"
  release + b:8
Run Code Online (Sandbox Code Playgroud)

这就是我最初尝试的,但它有一个副作用,即修饰符被保留并且无法释放。

方法B:

使用以下内容更新.xbindkeysrc.scm文件:

(xbindkey '("b:8") "xdotool keydown ctrl")
(xbindkey '(release "b:8") "xdotool keyup ctrl")

(xbindkey '("m:0x14" …
Run Code Online (Sandbox Code Playgroud)

mouse xte xdotool xbindkeys

16
推荐指数
3
解决办法
6870
查看次数

将 Ctrl 和 Alt 映射到鼠标拇指按钮

我正在运行 Ubuntu 12.04 并且有一个多按钮 Microsoft 鼠标。我想分别将CtrlAlt修饰键映射到鼠标的左右拇指按钮,这样我就可以在不触摸键盘的情况下Ctrl单击和Alt单击。我的拇指按钮是按钮89

我尝试了如何配置鼠标拇指按钮中的解决方案 这解释了如何将双击映射到 a thumb button- 这适用于双击,但我无法弄清楚如何修改解决方案CtrlAlt

我也试过如何将 Ctrl/Shift 映射到鼠标的拇指按钮? 其中使用了 xdotools 和 xbindkeys。我将脚本修改为:

~/.xbindkeysrc

"xdotool keydown alt"
        b:9
"xdotool keyup alt"
        release + alt + b:9
"xdotool keydown ctrl"
        b:8
"xdotool keyup ctrl"
        release + control + b:8
Run Code Online (Sandbox Code Playgroud)

这几乎有效。Ctrl当我单击左拇指按钮时,它模拟了一个-key 按下,但我实际上无法同时按住按钮并单击 - 按住thumb button似乎可以防止它在释放之前听其他输入。

有谁知道如何让我的鼠标拇指按钮实际用作修饰键,以便我可以使用thumb button+ 单击而不是Ctrl …

mouse xbindkeys

13
推荐指数
2
解决办法
4541
查看次数

Xbindkeys 无法正常工作

我有点问题。我想从我以前的系统中重新映射一些我习惯的热键,但我无法让它与xbindkeys.

xbindkeys 识别组合但不知何故该命令不会触发。

如果我使用命令

xdotool key braceleft
Run Code Online (Sandbox Code Playgroud)

{在控制台中向我输出正确的符号。但是,如果我在 xbindkeys 中使用相同的命令,则不会发生任何事情。如果我用firefox它替换命令,它可以正常工作并打开 Firefox,所以我猜是xbindkeys可行的。

我想实现以下目标:

我要键入的字符{与任一活动窗口 Alt_R+7Alt_Left+ Ctrl+ 7,所以我可以同时使用。我知道Alt_R(AltGr键)是正确的方式,但对德国的键盘它是某种难以与键入braceleftAltGr所以我必须使用(Alt_R)键Alt_L+ Control+ 7,而不是(像我是在我以前的系统使用)。我以某种方式让它在 12.04 中正常工作,但我无法让它在 14.04 中工作。

有什么建议?我尝试了几个命令。所有这些都在控制台中工作,但在 xbindkeys 执行时没有一个工作

xdotool type '{'
xdotool key braceleft
xdotool key ISO_Level3_Shift+7
xvkbd -xsendevent -text '{'
xvkbd -xsendevent -text '\[Alt_R]+7'
Run Code Online (Sandbox Code Playgroud)

这是我的配置,不起作用

"xdotool key braceleft"
Control+Alt + 7
Run Code Online (Sandbox Code Playgroud)

但是,这有效:

"firefox"
Control+Alt + 7
Run Code Online (Sandbox Code Playgroud)

解决方案编辑 …

xdotool xbindkeys

10
推荐指数
2
解决办法
9936
查看次数

xev 或 xbindkeys 或 keytouch 未在我的键盘(多媒体键?)​​中检测到某些键:如何检测它们?

Fn这是让音量增大/减小、亮度等的键工作的又一次尝试。这些控件在我的非品牌超极本中根本不起作用。

我想检测它们以进行修改/home/username/.config/openbox/lubuntu-rc.xml,因为以下内容似乎不起作用:

<keybind key="XF86AudioRaiseVolume">
    <action name="Execute">
        <command>amixer -q sset Master 3%+ unmute</command>
Run Code Online (Sandbox Code Playgroud)

例如,当我按下音量调高或亮度调低时,既没有xevxbindkeys没有keytouch检测到。启动/停止触摸板按钮正在工作,但这些应用程序也未检测到。

我也试图与dconf-editor它建议在这里next已经设置为XF86AudioNext(并且是active

在这里,我阅读了以下解释:

一些笔记本Fn组合键是多媒体键(在操作系统中表现为带有非标准代码的普通键),而另一些则触发最终到达操作系统的 ACPI 事件,还有一些只是由 BIOS 处理,操作系统从未见过。信息路径 在 Ubuntu wiki上的热键/架构页面上进行了解释 ,并附有图表。

如果按下亮度键时操作系统看不到任何内容,可能是因为它们是由 BIOS 直接处理的。战斗并没有完全失败——原则上可以破解 BIOS——但难度大大提高。

任何的想法?

lubuntu openbox dconf xev xbindkeys

10
推荐指数
1
解决办法
5722
查看次数

从 xbindkeys 调用的 xte 不起作用

我正在尝试xbindkeys在 Kubuntu 中进行设置,因为我得到了一个带有一些无用按钮的新鼠标。我试图将 F5 键绑定到鼠标上的 windows-logo 按钮,我将其标识为 c:134。

不幸的是,它似乎不起作用。这是我在 .xbindkeysrc 中所做的

"xte 'key F5'"
  c:134
Run Code Online (Sandbox Code Playgroud)

这不起作用。但是,如果我在终端中输入:sleep 10; xte 'key F5'并切换到另一个窗口,10 秒后 F5 键将被正确模拟(例如,它将刷新当前浏览器页面)。

这也不是密钥识别的问题。这正确启动凯特。

"kate" 
  c:134
Run Code Online (Sandbox Code Playgroud)

我真的不明白,为什么xte不会模拟密钥!

有什么建议?

mouse kde xte key-binding xbindkeys

8
推荐指数
1
解决办法
2386
查看次数

如何在 Wayland 上访问额外的鼠标按钮?

不幸的是,Gnome 不提供任何配置额外鼠标按钮的选项,我通过编写一个繁琐的配置文件来实现这个简单的目标xbindkeys.

\n

我想要的远不是超级花哨的东西 \xe2\x80\x93 通过点击鼠标按钮 \xe2\x80\x93 发射火箭,而是仅通过左键或右键单击罗技鼠标的滚轮来切换工作区。

\n

如何在 Xorg 下完成此操作已被多次回答,例如:如何在 Logitech Mouse 中配置额外按钮

\n

但在 Ubuntu 21.04 中,\xe2\x80\x93 就系好安全带了!\xe2\x80\x93 Wayland 已成为默认的显示管理器,到目前为止,像xbindkeys和这样的花哨的东西xdotool类的花哨的东西不再起作用了。

\n

所以我的问题是:有没有办法发射导弹 \xe2\x80\x93 嗯,抱歉再次用我额外的鼠标按钮切换工作空间?或者我应该卖掉它们并将钱捐给侏儒基金会?

\n

请不要提出libratbagpiper我从来没有让他们以任何有用的方式工作......

\n

mouse wayland xbindkeys 21.04

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