Suse Linux 下让华硕笔记本音量控制显示进度条
前些天看到XOSD,很不错的东东,可以在屏幕上显示文字。于是想到了一个主意:把华硕笔记本的热键激活。
开始找到了Lineake,可是找不到支持华硕的配置文件,干脆自已写一个吧。
环境:Suse linux 10.0 ASUS LH4000
先确认 /proc/acpi/ 下有 asus 的目录,表示acpi支持asus的组件已经安装了;
然后在 /etc/acpi/event 下创建三个文件:(suse下是这个目录,其它的系统可能是 acpid 或别的吧)
volume-down
volume-mute
volume-up
内容如下:
第一个
# volume down
event=hotkey HOTK 00000031
action=/home/biff/bin/volume - 2
第二个
event=hotkey HOTK 00000032
action=/home/biff/bin/volume
第三个
event=hotkey HOTK 00000030
action=/home/biff/bin/volume + 2
应该很明白,30/31/32就是三个Fn-F11/F12/F10的16进制键值。
/home/biff/bin/volume 文件如下
( 安全性很差,因为这个shell被root调用,所以里面写的内容将以root权限执行 )
-------- 先说好了,后果自负啊 ----------
#!/bin/sh
export DISPLAY=":0.0"
VStep=1
if [ `echo -n $1|wc -c` -eq 0 ]
then
o=`aumix -q | egrep 'vol 0, ?0'`
if [ -z "$o" ]; then
aumix -S
aumix -v0
else
aumix -L > /dev/null
fi
fi
if [ v$1 == 'v+' ];
then
`aumix -v+$VStep`
else
`aumix -v-$VStep`
fi
#FONT="-misc-simsun-medium-r-normal--160-*-*-*-*-*-gb2312.1980-0,*-r-*"
FONT="*-24-*"
LEVEL=`aumix -q|grep vol|cut -c5-|awk -F, '{ print $1 }'`
osd_cat -pbottom -Acenter -o30 -bpercentage -cgreen -f$FONT -s1 -d1 -P$LEVEL &
-------------------------------------------------------------------------------------------------
然后进root重启acpi服务: /etc/init.d/acpid restart
再试试Fn-F11或Fn12调音量,可以看到进度条了。
-------------------------------------
如果,你,看到了这里,请给我写个信,让我知道你也在用LH4000
支持一下原创[email protected] 不错 不错能 具体 介绍一下 XOSD吗? 还有阿 。。能写清楚 acpi下event的原理吗 :-D 正上班呢,晚上再回一贴介绍ACPI和如何监听键盘 :P 回了一贴在硬件区
在Suse Linux 10.0上搞定华硕笔记本热键
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&p=4642511#4642511 :-D 唉,可能全公社就我这么笨跟着你的方法做一遍……
为什么你不调查清楚啊 TOT 你想到的人家都已经做到了!!!!=皿= 只要你用lineak-defaultplugin,然后用EAK_VOLUP和EAK_VOLDOWN来控制音量,那个进度条就会显示出来的,而且比你这样做的进度条大多了……楼主你走了太多的弯路了。
楼主我恨你啊,还我青春~~~~~~~~~~~~` :lol:
ACPI的键 lineak 监听不到啊! 不是的,看配置文件有没有而已,我的键盘所有的acpi键都能被lineak监听。 把我搞晕了 。。能 从头讲讲吗 :oops: 这里的关键其实就是侦听健,其他的根本都不用考虑,人家lineak都帮你想好了。那个script根本不用写。 :mrgreen: 有办法把手工侦到的消息发给 lineak 吗??还没搞定
我的笔记本的键在 lineak 里找不到配置 你在lineakkb.def里面学着写一个不行吗?
lineak.conf里面有没有用自定义的键盘型号呀? 原先试过不行!可能你还没有遇到这种 lineake侦听不到的键,
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&p=4642511#4642511
你按下键的时候 /var/log/acpid 日志文件有这些东西吗?
received event "hotkey HOTK 00000032 00000004"
notifying client 5350
notifying client 5450
notifying client 5463
notifying client 5901
BEGIN HANDLER MESSAGES
END HANDLER MESSAGES 我看过了,我的acpid居然没有这些东西,但是xev也侦听不到啊。
不过,我看了一下他们的主页,那里有说怎么让lineak侦听健,你试过了吗?
http://lineak.sourceforge.net/index.php?nav=showdoc&docid=LinEAK_support_HOWTO&doctitle=Keyboard%20support%20HOWTO
option 2那个看上去比较可行
页:
[1]
2