linux音量快捷键,Ubuntu 8.10 音量快捷键[Fn-KEY]错误处理

编程知识 更新时间:2023-05-03 00:21:57

前段时间Ubuntu 8.10出来了,本人测试了一下,对偶的本本支持不是太好,特别是Fn音量快捷键问题,按下去OSD就一直显示,不返回,音量要不全开,要不慢慢全关,似乎一直按着键使的,经测试,N个笔记本都有这种现象,搜完所有国内BBS,技术支持无果后在国外BBS上苦啃E文,分析系统文件,找到原因了,估计坛子里也有兄弟使用,如果有这种问题的可以彻底解决了。

错误原因是X的输入设备驱动evdev需要key-up信号,而通常Fn键这个缺少,所以造成音量OSD窗口无法终止,进入死循环。处理办法就是重新编译evdev模块。

先备份evdev_drv.so文件,出现错误后可以用控制台命令重新copy回去。

cp /usr/lib/xorg/modules/input/evdev_drv.so ~/

方法1:

step1:下载已经修改好错误的evdev源代码:

wget http://labs.ktemkin/ubuntu/evdev_fix_2.0.99.tar.gz

tar -zxvf evdev_fix_2.0.99.tar.gz

cd evdev_fix

以后步骤参见公用操作。

方法2:

step1:下载Ubuntu源代码中的evdev文件,下载地址:

http://packages.ubuntu/source/intrepid/xserver-xorg-input-evdev

step2:在解开的文件包中的./src/evdev.c文件中找到下面代码:

/* filter repeat events for chording keys */

if (value == 2 &&

(ev->code == KEY_LEFTCTRL || ev->code == KEY_RIGHTCTRL ||

ev->code == KEY_LEFTSHIFT || ev->code == KEY_RIGHTSHIFT ||

ev->code == KEY_LEFTALT || ev->code == KEY_RIGHTALT ||

ev->code == KEY_LEFTMETA || ev->code == KEY_RIGHTMETA ||

ev->code == KEY_CAPSLOCK || ev->code == KEY_NUMLOCK ||

ev->code == KEY_SCROLLLOCK)) /* XXX windows keys? */

return;

step3:在下面代码下面新建一行,输入以下代码:

/* fix events for volume keys */

if(ev->code == KEY_VOLUMEDOWN || ev->code == KEY_VOLUMEUP) //MODIFY THIS LINE

{

//post a keydown and then a keyup, as media keys have no automatic key-up

xf86PostKeyboardEvent(pInfo->dev, code, 1);

xf86PostKeyboardEvent(pInfo->dev, code, 0);

return;

}

如果还有其它Fn功能键错误,则可以自行查键定义加入,如静音键

/* fix events for volume keys */

if(ev->code == KEY_VOLUMEDOWN || ev->code == KEY_VOLUMEUP ||  ev->code == KEY_MUTE) //MODIFY THIS LINE

{

//post a keydown and then a keyup, as media keys have no automatic key-up

xf86PostKeyboardEvent(pInfo->dev, code, 1);

xf86PostKeyboardEvent(pInfo->dev, code, 0);

return;

}

以上方法1或者方法2做完后执行下面编译过程:

step1:安装编译工具及环境:

sudo apt-get install build-essential libtool automake gcc xorg-dev

step2:编译:

./autogen.sh

make

sudo make install

setp3:拷贝驱动程序到正确的位置:

sudo cp /usr/local/lib/xorg/modules/input/evdev_drv.so /usr/lib/xorg/modules/input/

执行完后会自动重启X,如果没有自动重启应手动重启,一般情况下就OK了,如果出现不能进入X,可在开机时按ESC进入安全模式,恢复备用的模块文件。

sudo cp ~/evdev_drv.so /usr/lib/xorg/modules/input/

sudo reboot

重申,因为涉及系统基本输入模块,必须要求操作者懂点儿基本编译常识及黑屏处理方法,否则出现系统不能进入X的后果自行负责。

更多推荐

linux音量快捷键,Ubuntu 8.10 音量快捷键[Fn-KEY]错误处理

本文发布于:2023-04-29 15:18:00,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/cb050c0548071d7559fec3b4416503d5.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:快捷键   音量   错误   linux   Ubuntu

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!

  • 111127文章数
  • 28384阅读数
  • 0评论数