笔记本上Hotkey在Linux下的讨论
时间:2010-02-11
来源:互联网
用过本子的人(基本上等于所有有电脑的人,现在谁没有本子),都知道本子上有一堆叫Hotkey的东西,就是用Fn+Fx来控制一些东西,多半是音量,屏幕亮度,设备开关……
但是,在Linux下,这些Hotkey有很多用不起来。
如果是旧的本子,这些功能一般都是直接通过BIOS来实现,所以,现在的Linux发行版,一般也能正常的用,至少我见过很多音量调节,亮度调节正常的。
但是,新一点的本子,特别是预装Win 7或者Vista的本子,这部分很多是BIOS和OS下的程序或者驱动协同控制的,这样的本子,Linux就没有办法了。
我遇到过好多较新的本子,特别是设备开关这方面,因为涉及到所谓省电的考虑,像WLAN和Bluetooth这些设备,默认都是关闭的,所以,装完Linux后,这些设备要么找不到(对应于Hotkey直接关设备电的情况),或者找到了,但是用不了(对应于Hotkey关掉设备的RF的)
一般这些机器上,与BIOS配合的Utility只有Win的版本,是根本不会有Linux版本的。
当然,可以直接要求BIOS修改为BIOS单独控制,但是,有两个方面的问题:
一、作为一般买本子的客户,往上一层,是销售商的维修站,他们不具备改BIOS的能力(如果这个本子厂商考虑到这个本子可能要装Linux,已经准备好为Linux用的BIOS则除外)。
二、即便最后反映到了本子生产商那里,如果这个本子一开始的设计就是BIOS得Utility协同控制(Vista得Win 7下大多这种方式),则要改为单独BIOS控制,有时修改动要很大,所以,最省力的办法,也就是直接把设备打开,让它一直能被OS认到,而无视Fn+Fx的控制。
本人在FIC工作,经常在公司生产的本子上装Linux玩,所以,经常为这个问题而烦恼,所以,突然想起来发贴,大家讨论一下,一般在End User级,这个问题是怎么解决的。
作者: alpha.gu 发布时间: 2010-02-11
幸亏本人本子比较老。比如亮度我觉得还是BIOS来管理比较好。谁想出要操作系统参一脚的
作者: jarryson 发布时间: 2010-02-11
一、我说的不是无线驱动的问题,而是无线设备打开的问题,设备的开关BIOS可以通过GPIO引脚来控制的,如果BIOS报告给OS,我没有这个设备,那就算设备硬件装上了,OS照样认不到,所以,如果你不把设备打开,还是用不了。还有,关于RF,就是WLAN等无线设备的信号,如果RF被关了,OS会认到设备,但是,会探测不到无线连接。
二、亮度和音量,的确是BIOS控制要好些,因为这样的话,现在的Linux发行版基本上都能用的很好,但是,问题是,像Vista得Win 7这种系统,这已经接管了这些东西,特别是亮度,因为要得OS下的Mobility Center保持一致,所以,一定要让OS去控制,当然,强行BIOS控制也是可以的,但是结果就是Mobility Center会报错。
毕竟Win现在在本子上还是主流,所以,生产商写BIOS是不会多为Linux考虑的。
作者: alpha.gu 发布时间: 2010-02-11
知名品牌用的人多或者有好事者写段代码
但是杂牌,比如我用的BenQ
90%的键盘,然后一个键当3个用的,肯定是用不起来的
但是我不是用电脑来做家用和办公的,我仅仅用她调试程序,然后让她兼职做Nat设备
所以对我来说,问题不大。
那些hotkey最典型的就是IBM系列的,但是基本上都可以支持
杂牌机器,一般都不是自己设计的
然后找到对应的模型机,找到驱动,一般也可以
对于有些山寨厂商盗版别人的板子和固件的,驱动不起来很正常。
我的BenQ,大多数键是可以用的,亮度调整,声音调整等,不能用的就是蓝牙无线开关,这东西是合一的,所以我常开,休眠也不好用,其他正常
BenQ是比较大的山寨厂,有几个能用我已经很满意了
刚刚经过测试,发现所有的hotkey都可以使用,只是原来在windows上有提示,现在在Linux上要盲打而已,哈哈
作者: parset 发布时间: 2010-02-11
1,BIOS直接控制的。就像楼主说的音量,屏幕亮度,还有像thinkpad特有的thinkLight,这些默认就可用。因为按键组合实际上就是硬件调节;
2,驱动程序控制的。比如显示电池电量、锁屏幕,休眠等等。这些主要是驱动程序控制的,特别地,主要是内核带的ACPI模块控制的。比如我这里的thinkpad_acpi模块,这些模块基本上就驱动了对应的组合键。有一些默认就有效,而有些它已经完成了映射但是需要你手动设置acpid让它们工作,还有一些可能因为linux权限机制的问题(主要是休眠、待机功能),默认被关闭了。
而且各个厂商的产品基本上hotkey配置都是稳定的,所以虽然型号千差万别,但各自的acpi驱动模块基本保持稳定,并不太可能出现因为预装了win7或者vista,对应linux下的驱动就不再有效了。除非是全新品牌的笔记本,比如当年的神舟.....
我的运气还算比较好的,asus和thinkpad的acpi支持一直是比较好的。所以配置的经验也不是很丰富,仅供参考。
作者: Alerander 发布时间: 2010-02-11
ASUS嘛,以前在ASUS机器上装Win,最烦的就是它的ATK模块,这个应该是它的Hotkey的底层驱动。
而我所在的FIC,从Vista开始,基本上也是类似于ATK这样的做法了,因为需要在调节的时候在桌面上显示OSD。
基本上,最受影响的,应该就是设备的开关,对于亮度或者音量的调节,其实无所谓的,设备不能用,特别是WLAN不能用,是很郁闷的事情:)
作者: alpha.gu 发布时间: 2010-02-11
/sys/devices/platform/thinkpad_acpi/bluetooth_enable |
作者: Alerander 发布时间: 2010-02-11
我以前的旧笔记本,HP的,音量调节和亮度调节都很正常,基本上所有发行版都没问题
新买的三星笔记本就不行了,音量倒是可以调节,但是屏幕亮度死活搞不定。好不容易找到一篇老外写的文章,修改了几个文件之后,暂时能够在终端通过输入一大串命令来调节亮度
我的笔记本也就这点用得不爽了
作者: york824 发布时间: 2010-02-12
怪微软是因为,从Vista开始,特别是亮度调节,BIOS的权限已经很小了,这个,我问过FIC BIOS Team的人,要符合M$的标准,BIOS就只能通知OS去改亮度,而不能自己改,不然,某个Logo就不可以贴在机器上。
怪OEM厂商,是因为很多厂商要求生产商对于各种调节显示OSD,就是在屏幕上显示一个调节的图示,这个就要看生产商怎么实现,如果是BIOS直接调节,OSD程序探测到调节时在桌面显示,这样对于Linux发行版来说,就不会有什么问题,最多就是在Linux下没有OSD(当然,现在这个其实都有的)
但是,上面的做法,容易出现同步问题,因为OSD程序是滞后的。
所以,另一种做法,BIOS通知OSD程序去调节,这样子,就有点像上面说的微软的东西了,这样实现,不太会有同步问题,但是,换到Linux下,同样功能的实现,要你自己写脚本,相当于是你自己去实现Win下这个OSD程序的功能。
作者: alpha.gu 发布时间: 2010-02-12
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28