Gnome On Xorg 配置多功能鼠标侧键

1. 安装xbindkeys、xdotool

sudo pacman -S xbindkeys xdotool

2. 生成默认的xbindkeys配置文件:

$ xbindkeys -d > ~/.xbindkeysrc

3. 编辑~/.xbindkeysrc,定义鼠标侧键功能。增加如下定义:

"xdotool key --clearmodifiers Page_Up"
 b:9
 "xdotool key --clearmodifiers Page_Down"
 b:8

4. 设置xbindkeys自启动。编辑~/.xprofile,内容如下:

#!/bin/bash
xbindkeys &

参考:

https://wiki.archlinux.org/index.php/Xbindkeys

http://zzss.cf/?p=5290

Gnome On Wayland 配置多功能鼠标侧键

参考1:wayland-mouse-mapper

安装libinput、evemu,并下载mousemapper.sh和mousemapper.service。

sudo pacman -S libinput evemu
wget https://github.com/mathportillo/wayland-mouse-mapper/raw/master/mousemapper.sh
wget https://raw.githubusercontent.com/mathportillo/wayland-mouse-mapper/master/mousemapper.service

修改mousemapper.sh默认配置,将鼠标侧键功能改为PAGEUP、PAGEDOWN:

# COMMANDS MAP
# BTN_EXTRA=(KEY_LEFTMETA KEY_PAGEUP)
# BTN_SIDE=(KEY_LEFTMETA KEY_PAGEDOWN)
BTN_EXTRA=(KEY_PAGEUP)
BTN_SIDE=(KEY_PAGEDOWN)

用root权限启动:

chmod +x mousemapper.sh
sudo ./mousemapper.sh

测试发现,按鼠标侧键时,可上下翻页,但浏览器中的网页会切换到上一页或下一页。

参考2:ubuntu 14.04配置多功能鼠标

安装xinput、xev

sudo pacman -S xorg-xinput xorg-xev

然后找到鼠标设备id:

$ xinput list | grep 'id='
WARNING: running xinput against an Xwayland server. See the xinput man page for details.
 ⎡ Virtual core pointer                        id=2    [master pointer  (3)]
 ⎜   ↳ Virtual core XTEST pointer                  id=4    [slave  pointer  (2)]
 ⎜   ↳ xwayland-pointer:17                         id=6    [slave  pointer  (2)]
 ⎜   ↳ xwayland-relative-pointer:17                id=7    [slave  pointer  (2)]
 ⎣ Virtual core keyboard                       id=3    [master keyboard (2)]
     ↳ Virtual core XTEST keyboard                 id=5    [slave  keyboard (3)]
     ↳ xwayland-keyboard:17                        id=8    [slave  keyboard (3)]

猜测鼠标设备id=6。获取其button-map:

$ xinput get-button-map 6
WARNING: running xinput against an Xwayland server. See the xinput man page for details.
1 2 3 4 5 6 7 8 9 10

获取鼠标侧键的键值:

$ xev |grep button
    state 0x0, button 9, same_screen YES
    state 0x0, button 9, same_screen YES
    state 0x0, button 8, same_screen YES
    state 0x0, button 8, same_screen YES

确定两个侧键键值为:上=9,下=8。

设置button-map,屏蔽8和9两个键,避免浏览器前后翻页:

$ xinput set-button-map 6 1 2 3 4 5 6 7 0 0 10

再次测试,功能正常。

最后按mousemapper主页,将其转为service:

sudo cp mousemapper.sh /usr/bin/mousemapper
sudo cp mousemapper.service /usr/lib/systemd/system/
sudo systemctl enable mousemapper.service
sudo systemctl start mousemapper.service

DONE !

manjaro-xfce使用鼠标侧键

1. 安装xbindkeys和xdotool

pacman -S xbindkeys xdotool xorg-xev

2. 找到鼠标侧键键码

xev

点击两个鼠标侧键,输出为:

ButtonPress event, serial 37, synthetic NO, window 0x4600001,
     root 0x16a, subw 0x0, time 2359097, (105,76), root:(816,450),
     state 0x0, button 9, same_screen YES
 ButtonRelease event, serial 37, synthetic NO, window 0x4600001,
     root 0x16a, subw 0x0, time 2359243, (105,76), root:(816,450),
     state 0x0, button 9, same_screen YES
 ButtonPress event, serial 37, synthetic NO, window 0x4600001,
     root 0x16a, subw 0x0, time 2370571, (105,76), root:(816,450),
     state 0x0, button 8, same_screen YES
 ButtonRelease event, serial 37, synthetic NO, window 0x4600001,
     root 0x16a, subw 0x0, time 2370691, (105,76), root:(816,450),
     state 0x0, button 8, same_screen YES

其中,button 9为上键,button 8为下键。

3. 编辑.xbindkeysrc文件

xbindkeys -d > ~/.xbindkeysrc
vim ~/.xbindkeyrc

在文件中加入:

"xdotool key Page_Up"
  b:9
"xdotool key Page_Down"
  b:8

保存退出,测试:

xbindkeys -p

侧键翻页功能生效。

4. 加入自启动

编辑~/.xprofile文件,加入一行:

xbindkeys


https://forum.manjaro.org/t/how-do-i-set-up-extra-mouse-buttons/59291

fedora中自定义多功能鼠标的按键:xbindkeys + xautomation

通常情况下,安装完系统后,鼠标都能正常工作——左键,右键,滚轮,甚至有时前进、后退这样的附加键也能正常使用。不过,如果你想重新映射多按键鼠标的附加键,就需要进行一些手动处理了。具体的方法多种多样,但根据我个人的经验,xbindkeys应该是最容易的方案。下面我们就以把鼠标拇指上下键设定为PageUp和PageDown快捷键(用于上下翻页)为例,进行介绍。

 

首先,我们需要找出所要修改鼠标键的数字编号。鼠标的每个键都有自己的编号,但仅凭外观无法分辨。因此,我们来运行以下命令找出答案:

xev

将光标移动到该命令打开的窗口中,按下拇指键,将会显示如下代码:

ButtonPress event, serial 33, synthetic NO, window 0x4e00001, root 0x142, subw 0x0, time 568329, (93,19), root:(96,714), state 0x0, button 9, same_screen YES

代码最后一行的“button 9”就是我们要找的按键编号。这说明拇指键的编号是9。牢记这个数字,并按Ctrl + C退出xev,继续进行下一步操作。我的鼠标拇指上键编号是9,拇指下键编号为8。

下一步,我们将需要安装两个程序:xbindkeys和xautomation。在Fedora中,运行以下命令即可:

sudo yum install xbindkeys xautomation

之后,运行下面的命令来创建xbindkeys的配置文件:

xbindkeys --defaults > ~/.xbindkeysrc

此命令行也适用于其他版本的Linux。

# Key SideU = PgUp
"xte 'key Page_Up'"
b:9 + release

# Key SideD = PgDn
"xte 'key Page_Down'"
b:8 + release

xte即是xautomation程序中的一个命令,它能模拟按键。例如“xte ‘keydown Control_L’ ‘key T’ ‘keyup Control_L”语句是指,按下左Ctrl,再按下T,然后再放开Ctrl。这里,”xte ‘key Page_Up'”就是简单地按下Page_Up键,b:9 + release则按下并释放对应鼠标键。明白了吗?不难吧。现在你就可以返回去用xev找出你想设置的鼠标按键编号,并按照上面的演示过程对其进行重新映射。如果你想知道键盘各个键的编号,则可以去查询xte附带的列表。

最后不要忘记将xbindkeys加入自启动。

其实xbindkeys还可以完成很多其他的事情,在此就不再进行赘述,你可以先设定鼠标按键来练练手。更多的功能可以查看Ubuntu的 键盘快捷键指南 。另外,如果用xbindkeys加你的鼠标型号作为关键字进行Google搜索,也能找到很多很好的教程。祝你好运!

查看帮助:xte -h,xbindkeys -h

 

在Linux下自定义多按键鼠标的功能

搭好Ubuntu工作环境以后, 什么都好, 就是接上鼠标以后, 很多键用不了, 比较烦. Ubuntu自带的鼠标设置非常简陋, 罗技也没给Linux做驱动, 只能自己找办法解决.

btnx非常好的解决了这个问题, 而且还带GUI设置工具. 除了设置里没有Apply这个按钮, 让人有点琢磨不透它到底什么时候保存设置以外, 其他都还不错.

Continue reading “在Linux下自定义多按键鼠标的功能”