|
|
发表于 2009-4-10 23:14:08
|
显示全部楼层
一直想写个笔记本的那些控制键的配置方法出来,可惜我太懒了:(
只是你没有控制他而已
这样来找蓝牙设备:grep -i bluetooth /sys/class/rfkill/rfkill*/name 如果找到的是rfkill1,
这样打开蓝牙:echo 1 > /sys/class/rfkill/rfkill1/state 这样关闭蓝牙:echo 1 > /sys/class/rfkill/rfkill1/state 给你一个我的acpi控制脚本给你参考吧。
/etc/acpi/event/bluetoothevent=ibm/hotkey HKEY 00000080 00001006
action=/etc/acpi/bluetooth.sh /etc/acpi/bluetooth.sh- #!/bin/bash
- # x_user_detect.sh 是检测当前运行X的用户的脚本。
- # 我注释掉了,你可以自己写一个
- # 或者简单的定义一个常用X用户即可。
- # . /etc/acpi/x_user_detect.sh
- X_USER="sipingal"
- NAME="tpacpi_bluetooth_sw"
-
- find_by_name() {
- NAME="$1"
- test -z "${NAME}" && return 1
- SYSFS_NAME=$(grep --color=never "$NAME" /sys/class/rfkill/rfkill*/name | awk -F: '{print $1}' | head -n 1)
- if [[ ! -z "${SYSFS_NAME}" && -r "${SYSFS_NAME/%name/state}" ]]; then
- RESULT=${SYSFS_NAME%%/name}
- echo $RESULT
- return 0
- fi
- return 1
- }
-
- SYSFS="$(find_by_name "${NAME}")"
-
- if [[ ! -z "${SYSFS}" && -r "${SYSFS}/state" ]]; then
- case "$(cat "${SYSFS}/state")" in
- 0)
- echo 1 > "${SYSFS}/state"
- su - ${X_USER} -c "/etc/acpi/notify.sh 'Bluetooth is ON'"
- ;;
- 1)
- echo 0 > "${SYSFS}/state"
- su - ${X_USER} -c "/etc/acpi/notify.sh 'Bluetooth is OFF'"
- ;;
- esac
- fi
复制代码
/etc/acpi/notify.sh #!/bin/sh
export DISPLAY=:0.0
notify-send -t 2000 "$@"
这样我就可以通过我的Fn+F6来打开关闭蓝牙了。其他功能完全可以用类似的方法实现,比方说开关触摸板,开关无线,*出光驱等等等等 |
|