LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1088|回复: 5

IBM hotkey "Fn"

[复制链接]
发表于 2006-6-13 23:38:38 | 显示全部楼层 |阅读模式
怎样使用IBM hotkey "Fn"
我在内核中打了suspend2,并且emerge hibernate-scripts
参照:http://forums.gentoo.org//viewto ... ght-ibm+hotkey.html
即:

  1. #!/etc/acpid/default.sh
  2. # Default acpi script that takes an entry for all actions

  3. set $*

  4. group=${1/\/*/}
  5. action=${1/*\//}

  6. case "$group" in
  7.         button)
  8.                 case "$action" in
  9.                         power)
  10.                                 logger "[ACPI] power button pushed"
  11.                                 reboot
  12.                         ;;

  13.                         *)
  14.                                 logger "[ACPI] action $action is not defined"
  15.                         ;;
  16.                 esac
  17.         ;;
  18.         ibm)
  19.                 case "$action" in
  20.                         hotkey)
  21.                                 case "$4" in
  22.                                         # Fn+F3
  23.                                         00001003)
  24.                                                 state=$(/usr/sbin/radeontool regs | grep RADEON_LVDS_GEN_CNTL)              
  25.                                                 if [[ "$state" = "RADEON_LVDS_GEN_CNTL=003dffa1" ]] ; then
  26.                                                         cmd="off"
  27.                                                 else
  28.                                                         cmd="on"
  29.                                                 fi
  30.                                                 /usr/sbin/radeontool light "$cmd"
  31.                                                 logger "[ACPI] lcd backlight $cmd"
  32.                                         ;;

  33.                                         # Fn+F4
  34.                                         00001004)
  35.                                                 logger "[ACPI] FN+F4 not implemented yet"
  36.                                         ;;
  37.                                         # Fn+F5
  38.                                         00001005)
  39.                                                 state=$(cat /proc/acpi/ibm/bluetooth | awk '/enabled/ { print $2 }')
  40.                                                 if [[ $state == "no" ]] ; then
  41.                                                         cmd="enable"
  42.                                                 else
  43.                                                         cmd="disable"
  44.                                                 fi
  45.                                                 echo "$cmd" > /proc/acpi/ibm/bluetooth
  46.                                                 logger "[ACPI] $cmd bluetooth"
  47.                                         ;;

  48.                                         # Fn+F7
  49.                                         00001007)
  50.                                                 logger "[ACPI] FN+F7 not implemented yet"
  51.                                         ;;

  52.                                         # Fn+F9
  53.                                         00001009)
  54.                                                  state=$(/sbin/ifconfig ath0| awk '/ath0/ { print $5 }')
  55.                                                  if [[ $state == "11:22:33:44:55:66" ]] ; then
  56.                                                         /etc/init.d/wlan_uni stop
  57.                                                  else
  58.                                                         /etc/init.d/wlan_uni start
  59.                                                  fi
  60.                                         ;;

  61.                                         # Fn+F12
  62.                                         00001012)
  63.                                                 /usr/sbin/hibernate
  64.                                         ;;

  65.                                         # Hotkey Event default
  66.                                         *)
  67.                                                 logger "[ACPI] ibm/hotkey HKEY $4 pushed but not defined"
  68.                                         ;;
  69.                                 esac
  70.                         ;;
  71.                         *)
  72.                                 logger "[ACPI] No matching hotkey id found"
  73.                         ;;
  74.                 esac
  75.         ;;
  76.         *)
  77.                 logger "[ACPI] $*"
  78.         ;;
  79. esac
复制代码


同时在/etc/conf.d/local.start加入

  1. echo "0x0150" >| /proc/acpi/ibm/hotkey
  2. echo "enable" >| /proc/acpi/ibm/hotkey
复制代码


可是怎么不管用???
发表于 2006-6-14 09:17:32 | 显示全部楼层
看一下你的/var/log/acpid,好像是這個,關於Fn鍵組合,我記得試兩部分,例如Fn+F3是X X,而你只寫了後一半00001003。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-14 19:47:52 | 显示全部楼层
现在问题集中于使用hibernate后再次开机,出现两个问题:
1)定义的Fn hotkey 全都失效了!
2)要是X运行这的话一定无法回来(恢复后立即死机)
回复 支持 反对

使用道具 举报

发表于 2006-6-14 21:09:44 | 显示全部楼层
看看/etc/hibernate/hibernate.conf和manpage,应该能解决的。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-14 22:14:25 | 显示全部楼层
真的很奇怪!
几天下班回来,打开我的T43发现第一个问题竟然自己就好了,Fn + F12三次恢复后都没问题,接着我又调整了几个Hibernate配置文件中的几个注释,结果怪事发生了,原来的情况又回来了!
郁闷!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-6-16 23:33:48 | 显示全部楼层
设定hotkey有几个要主义的事项?
还没有解决hibernate后所有hotkey就失效这个问题!
回复 支持 反对

使用道具 举报

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

本版积分规则

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