热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

amixer快捷键绑定,i3窗口管理器下配置

为什么80%的码农都做不了架构师?窗口管理器安装的是i3,没有鼠标控制音量的地方,键盘上的功能键不管用,但调节屏幕亮度

为什么80%的码农都做不了架构师?>>>   hot3.png

    窗口管理器安装的是i3,没有鼠标控制音量的地方,键盘上的功能键不管用,但调节屏幕亮度的功能键是可以用的。一个笨方法是安装alsa-utils,然后在终端输入alsamixer,再用出来的字符界面的音量控制器调节音量,不方便。  

    好办法是绑定按键。折腾步骤如下 :

1.终端输入xev,再安音量控制键,一般笔记本是Fn + 左或右方向键,退出xev后,可以看到显示的按键事件,大概是这个样子:


KeyRelease event, serial 32, synthetic NO, window 0x1800001,root 0x7c, subw 0x0, time 8121754, (482,545), root:(486,565),state 0x0, keycode 123 (keysym 0x1008ff13, XF86AudioRaiseVolume), same_screen YES,XLookupString gives 0 bytes: XFilterEvent returns: FalseKeyPress event, serial 32, synthetic NO, window 0x1800001,root 0x7c, subw 0x0, time 8122127, (482,545), root:(486,565),state 0x0, keycode 122 (keysym 0x1008ff11, XF86AudioLowerVolume), same_screen YES,XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False

其中XF86AudioRaiseVolume,XF86AudioLowerVolume就是按键名,一个增加音量,一个减小,可见返回了False. 也可用命令 xev | grep keysym 去掉那些多余的输出.

2. amixer是命令行的ALSA声卡驱动调节器工具.可以man一下看选项,这里举个栗子:

amixer set Master 3%+ 或amixer set Master 3dB+  (音量增大3%),

amixer set Master 3%-  或amixer set Master 3dB-  (音量降低3%)


增减幅度自己设置,可以加-c选项指定声卡,比如我的是amixer set -c 0 Master 3%+,具体声卡名可以在打开alsamixer后按F2查看.


3.我的系统是archlinux,用i3桌面管理器,配置文件是主目录下 .i3/config 文件,这个文件是根据 /etc/i3/config生成的.编辑器打开后,在最后加入:


bindsym XF86AudioRaiseVolume exec amixer -c 0 set Master 3%+
bindsym XF86AudioLowerVolume exec amixer -c 0 set Master 3%-



注意那个中间那个exec不要忘了,我一开始就是忘了加,产生了下面的错误:


ERROR: Expected one of these tokens: , '[', 'move', 'exec', 'exit', 'restart', 'reload', 'shmlog', 'debuglog', 'border', 'layout', 'append_layout', 'workspace', 'focus', 'kill', 'open', 'fullscreen', 'split', 'floating', 'mark', 'unmark', 'resize', 'rename', 'nop', 'scratchpad', 'mode', 'bar'
ERROR: Your command: amixer -c 0 set Master 3%+


4.重启X后应该就生效了,i3可以用默认的快捷键$mod + shift +r 重新加载配置,以后你就可以直接用键盘控制音量了.


又觅了一更简单的方法,此法用的是xbindkeys.

1. 安装xbindkeys

archlinux下,

#pacman -S xbindkeys 2.配置


在home下生成.xbindkeysrc


$ touch ~/.xbindkeysrc 可以用命令生成一个简单的内容:



$ xbindkeys -d > ~/.xbindkeysrc 打开这个文件,加入这些东西:

"amixer sset Master 4-"
XF86AudioLowerVolume"amixer sset Master 4+"
XF86AudioRaiseVolume

3.开机启动xbindkeys

我是在.xinitrc最后加入一句xbindkeys .下次开机就可以用了。现在你也可以终端输入xbindkeys,之后功能键就生效了.


  参考这些前人的经验  B   C   D



转:https://my.oschina.net/sukai/blog/180433



推荐阅读
author-avatar
mobiledu2502858037
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有