LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: nainaide

[解决了]升级到2.6.29后蓝牙不灵了

[复制链接]
发表于 2009-4-11 10:17:46 | 显示全部楼层

你要用acpi_listen 检测你的组合键码

1) 你启动了acpid吗?
当然要启动,而且修改event 中的内容要重启acpid。
2) 我的fn组合键的event在/var/log/message中能看到,但无法通过/etc/acpi/events中起动脚本,这可能是什么原因?
不好意思,前面忘了提了,比方说我的输出,运行acpi_listen,然后按Fn+F6就打印出对应的键码了,你的应该和我的不同:
  1. Spad ~ # acpi_listen
  2. ibm/hotkey HKEY 00000080 00001006
复制代码


P.S. 你可以手动运行那个脚本(/etc/acpid/bluetooth.sh)看看运行的效果,这个没有问题的话就是event设置的问题了,可以参看2)(以root用户运行哦)。还有就是我这个notify.sh的脚本只适合gnome,其他桌面环境就不会有消息提示了。那样的话你就要自己想办法了,推荐xosd任何桌面环境都可用。
回复 支持 反对

使用道具 举报

发表于 2009-4-11 14:25:17 | 显示全部楼层
我把蓝牙编译成模块就认不出蓝牙设备,把他编译进内核就没问题了

以前我的蓝牙鼠标关了之后就怎么也连不上了,只能重启才能重新连接。现在问题都没有了,关了再开照样可以连接
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-4-12 02:21:12 | 显示全部楼层
Post by sipingal;1972725

  1. Spad ~ # acpi_listen
  2. ibm/hotkey HKEY 00000080 00001006
复制代码

终于弄明白了,非常感谢!!!
回复 支持 反对

使用道具 举报

发表于 2009-4-13 05:06:05 | 显示全部楼层
Post by sipingal;1972641
只是你没有控制他而已
这样来找蓝牙设备:

如果找到的是rfkill1,
这样打开蓝牙:

这样关闭蓝牙:

给你一个我的acpi控制脚本给你参考吧。
/etc/acpi/event/bluetooth

/etc/acpi/bluetooth.sh

  1. #!/bin/bash

  2. # x_user_detect.sh 是检测当前运行X的用户的脚本。
  3. # 我注释掉了,你可以自己写一个
  4. # 或者简单的定义一个常用X用户即可。
  5. # . /etc/acpi/x_user_detect.sh

  6. X_USER="sipingal"
  7. NAME="tpacpi_bluetooth_sw"

  8. find_by_name() {
  9.         NAME="$1"
  10.         test -z "${NAME}" && return 1
  11.         SYSFS_NAME=$(grep --color=never "$NAME" /sys/class/rfkill/rfkill*/name | awk -F: '{print $1}' | head -n 1)
  12.         if [[ ! -z "${SYSFS_NAME}" && -r "${SYSFS_NAME/%name/state}" ]]; then
  13.                 RESULT=${SYSFS_NAME%%/name}
  14.                 echo $RESULT
  15.                 return 0
  16.         fi
  17.         return 1
  18. }

  19. SYSFS="$(find_by_name "${NAME}")"

  20. if [[ ! -z "${SYSFS}" && -r "${SYSFS}/state" ]]; then
  21.         case "$(cat "${SYSFS}/state")" in
  22.                 0)
  23.                         echo 1 > "${SYSFS}/state"
  24.                         su - ${X_USER} -c "/etc/acpi/notify.sh 'Bluetooth is ON'"
  25.                         ;;
  26.                 1)
  27.                         echo 0 > "${SYSFS}/state"
  28.                         su - ${X_USER} -c "/etc/acpi/notify.sh 'Bluetooth is OFF'"
  29.                         ;;
  30.         esac
  31. fi

复制代码


/etc/acpi/notify.sh



这样我就可以通过我的Fn+F6来打开关闭蓝牙了。其他功能完全可以用类似的方法实现,比方说开关触摸板,开关无线,*出光驱等等等等


请问可以不可以把你所有的thinkpad的这些bash文件共享一下。免得我自己每个文件都要自己来写。谢谢。
BTW,我用xfce,那个notice正常提示。
回复 支持 反对

使用道具 举报

发表于 2009-5-2 16:45:00 | 显示全部楼层
Post by 杨珂;1972681
重新编了个内核 多选了几个 发现可以用了


添加了哪几个选项?我的蓝牙在2.6.29下还是不能使用,用的2.6.29-tuxonice
回复 支持 反对

使用道具 举报

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

本版积分规则

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