QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 9067|回复: 26

Suse Linux 下让华硕笔记本音量控制显示进度条

[复制链接]
发表于 2006-4-23 16:26:37 | 显示全部楼层 |阅读模式
前些天看到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]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

×
发表于 2006-4-24 08:51:09 | 显示全部楼层
不错 不错  能 具体 介绍一下 XOSD吗?
回复

使用道具 举报

发表于 2006-4-24 09:26:45 | 显示全部楼层
还有阿 。。能写清楚 acpi下event的原理吗
回复

使用道具 举报

 楼主| 发表于 2006-4-25 13:50:50 | 显示全部楼层
正上班呢,晚上再回一贴介绍ACPI和如何监听键盘
回复

使用道具 举报

 楼主| 发表于 2006-4-25 15:50:00 | 显示全部楼层
回了一贴在硬件区

在Suse Linux 10.0上搞定华硕笔记本热键
http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&p=4642511#4642511
回复

使用道具 举报

发表于 2006-4-26 09:13:16 | 显示全部楼层
回复

使用道具 举报

发表于 2006-5-12 15:29:40 | 显示全部楼层
唉,可能全公社就我这么笨跟着你的方法做一遍……
为什么你不调查清楚啊 TOT 你想到的人家都已经做到了!!!!=皿= 只要你用lineak-defaultplugin,然后用EAK_VOLUP和EAK_VOLDOWN来控制音量,那个进度条就会显示出来的,而且比你这样做的进度条大多了……楼主你走了太多的弯路了。

楼主我恨你啊,还我青春~~~~~~~~~~~~`
回复

使用道具 举报

 楼主| 发表于 2006-5-12 17:08:28 | 显示全部楼层


ACPI的键 lineak 监听不到啊!
回复

使用道具 举报

发表于 2006-5-13 01:44:04 | 显示全部楼层
不是的,看配置文件有没有而已,我的键盘所有的acpi键都能被lineak监听。
回复

使用道具 举报

发表于 2006-5-13 09:28:27 | 显示全部楼层
把我搞晕了 。。能 从头讲讲吗
回复

使用道具 举报

发表于 2006-5-16 07:15:38 | 显示全部楼层
这里的关键其实就是侦听健,其他的根本都不用考虑,人家lineak都帮你想好了。那个script根本不用写。
回复

使用道具 举报

 楼主| 发表于 2006-5-21 17:26:19 | 显示全部楼层
有办法把手工侦到的消息发给 lineak 吗??还没搞定
我的笔记本的键在 lineak 里找不到配置
回复

使用道具 举报

发表于 2006-5-22 13:13:09 | 显示全部楼层
你在lineakkb.def里面学着写一个不行吗?
lineak.conf里面有没有用自定义的键盘型号呀?
回复

使用道具 举报

 楼主| 发表于 2006-5-22 13:20:08 | 显示全部楼层
原先试过不行!可能你还没有遇到这种 lineake侦听不到的键,

http://www.linuxfans.org/nuke/modules.php?name=Forums&file=viewtopic&p=4642511#4642511

你按下键的时候 /var/log/acpid 日志文件有这些东西吗?
[Tue Apr 25 13:32:56 2006] received event "hotkey HOTK 00000032 00000004"
[Tue Apr 25 13:32:56 2006] notifying client 5350[0]
[Tue Apr 25 13:32:56 2006] notifying client 5450[0]
[Tue Apr 25 13:32:56 2006] notifying client 5463[0]
[Tue Apr 25 13:32:56 2006] notifying client 5901[1000]
[Tue Apr 25 13:32:56 2006] BEGIN HANDLER MESSAGES
[Tue Apr 25 13:32:56 2006] END HANDLER MESSAGES
回复

使用道具 举报

发表于 2006-5-23 11:09:44 | 显示全部楼层
我看过了,我的acpid居然没有这些东西,但是xev也侦听不到啊。

不过,我看了一下他们的主页,那里有说怎么让lineak侦听健,你试过了吗?
http://lineak.sourceforge.net/index.php?nav=showdoc&docid=LinEAK_support_HOWTO&doctitle=Keyboard%20support%20HOWTO

option 2那个看上去比较可行
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

GMT+8, 2024-4-19 12:36 , Processed in 0.134085 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

快速回复 返回顶部 返回列表