Clevo笔记本电脑上多色背光键盘的逆向工程驱动程序

这是我的情况:

我最近购买了Sager NP9170 (与Clevo P170EM相同),它有一个多色的背光键盘。 在Windows 7下,您可以启动一个应用程序 ,允许您将背光的颜色更改为少数几种颜色(蓝色,绿色,红色等)中的任何一种。

我想在Linux下使用相同的function。 我无法找到任何这样做的软件,所以我想我将不得不自己编写。 我是一个交易程序员,但我没有做过很多低级编程,我当然从来没有写过设备驱动程序,所以我想知道是否有人可以回答这两个问题:

1)是否有任何软件可以做这种事情? 我看起来相当彻底,但没有发现任何适用的东西。

2)我将从哪里开始尝试逆向工程这类事情? 任何有用的文章,教程,书籍可能会有所帮助?

只是为了澄清:背光已经有效,这不是问题所在。 我只是想能够改变背光的颜色。 硬件支持此function。 笔记本电脑附带了Windows软件,我想在Linux中使用相同的function。 我愿意自己编写这个软件,我只是想知道最好的方法。

谢谢!

好吧,事实certificate,其他人实际上已经弄明白了。 在notebookreview.com论坛上对“ klystron34 ”进行了巨大的“谢谢”。 查看论坛post了解更多信息。

注意:据我所知,这适用于基于库存Clevo P150EM和P170EM的许多/大多数笔记本电脑。 这是我在Ubuntu 12.04上的Sager NP9170上亲自validation的。 继续需要您自担风险。 对于您可能造成的任何损害,以及任何其他标准互联网免责声明,我概不负责。 继续需要您自担风险。 现在,关于好东西:

首先,您需要能够编译内核模块,因此更新您的存储库:

sudo apt-get update 

现在,安装git,构建工具和内核源代码:

 sudo apt-get install git build-essential linux-source 

现在创建一个工作目录。 我更喜欢使用位于我的主目录中的“dev”文件夹:

 cd ˜ mkdir dev cd dev 

现在,下载内核模块的源代码:

 git clone git://git.code.sf.net/p/clevo-wmi/code clevo-wmi-code 

进入包含源代码的目录:

 cd clevo-wmi-code 

“制作”内核模块:

 make 

您现在应该有一个名为clevo_wmi.ko的文件

现在,让我们通过加载模块测试并查看模块是否实际工作:

 sudo insmod /home//dev/clevo-wmi-code/clevo_wmi.ko 

如果它工作,你现在应该有一个名为的新目录:

/ SYS /设备/平台/ clevo_wmi / kbled

切换到该目录:

 cd /sys/devices/platform/clevo_wmi/kbled 

您现在应该可以通过执行以下命令来更改键盘中间部分的颜色:

 sudo su -c 'echo 100 > middle' 

键盘的中间部分现在应该是绿色的。 用leftright更换middle部分以更改键盘的相应部分。 这是颜色代码列表:

 GRB (Green-Red-Blue) 000 - Off 111 - White 100 - Green 010 - Red 001 - Blue 110 - Yellow 011 - Purple 101 - Aqua 

要永久安装此内核模块,请将其复制到与其他内核模块相同的位置(注意:您可能必须执行此步骤以及更改内核时的下一步):

 sudo cp ~/dev/clevo-wmi-code/clevo_wmi.ko /lib/modules/`uname -r`/kernel/drivers/platform/x86/ 

接下来,执行此操作(我认为重建内核模块列表):

 sudo depmod -a 

然后编辑/etc/modules文件并将此行添加到文件末尾:

clevo_wmi

将更改保存到/etc/modules

现在,每当您重新启动时,都应该加载模块,然后您可以更改键盘背光的颜色。 弄清楚如何让它在重新启动时改变颜色并记住你的最后一个颜色设置是一个留给读者的练习。 检查源代码中的docs目录,了解有关如何使用动态颜色更改function的说明。

感谢那些努力编写这个内核模块的开发人员!

你如何访问这样的function?

这可以通过一些聪明的脚本和启动function来实现。

(在Windows中,您可能需要在外来存储器模型中编写代码,允许直接硬件访问,或者需要编写驱动程序(和API)来检测和控制硬件。)


你如何选择你的偏好?

然后一些基本脚本(或图标调用脚本)可以选择特定的颜色首选项。

如果您使用Python,对于前端GUI,它也会非常简单。

已存在用于整个键盘和flymode键的所有function的驱动程序! TUXEDO Computers开发了这个驱动程序并通过他们的支持论坛提供它: http : //www.linux-onlineshop.de/forum/index.php? page = Thread&threadID = 26

玩得开心 :)

我用Pope的上述方法创建了一个改变颜色的脚本。 你可以在这里找到它:pb aDWe9s6d(不确定这里的格式是否正常,从那里复制更安全)

 #! /bin/bash #changes keyboard colors #Noah B. #Prompt for root [ "$UID" -eq 0 ] || exec sudo bash "$0" "$@" off=000 white=111 green=100 red=010 blue=001 yellow=110 purple=011 aqua=101 left=$1 l_code=000 middle=$2 m_code=000 right=$3 r_code=000 #LEFT SIDE if [ -z "$left" ] then echo "Enter desired color for the left side: (off/white/green/red/blue/yellow/purple/aqua)" read -p "Color choice: " left fi eval "l_code=\$$left" echo $l_code > /sys/devices/platform/clevo_wmi/kbled/left #MIDDLE if [ -z "$middle" ] then echo "Enter desired color for the middle: (off/white/green/red/blue/yellow/purple/aqua)" read -p "Color choice: " middle fi eval "m_code=\$$middle" echo $m_code > /sys/devices/platform/clevo_wmi/kbled/middle #RIGHT SIDE if [ -z "$right" ] then echo "Enter desired color for the right side: (off/white/green/red/blue/yellow/purple/aqua)" read -p "Color choice: " right fi eval "r_code=\$$right" echo $r_code > /sys/devices/platform/clevo_wmi/kbled/right