Clevoラップトップのマルチカラーバックライトキーボード用リバースエンジニアドライバー


13

私の状況は次のとおりです。

最近、Sager NP9170(Clevo P170EMと同じ)を購入しました。これには、マルチカラーのバックライト付きキーボードがあります。Windows 7では、バックライトの色をいくつかの色(青、緑、赤など)に変更できるアプリを起動できます。

Linuxでも同じ機能が必要です。これを行うソフトウェアを見つけることができなかったので、自分で作成する必要があると思います。私はプログラマーですが、低レベルのプログラミングはまだ行っていませんし、デバイスドライバーを書いたこともないので、次の2つの質問に答えられる人がいるかどうか疑問に思いました。

1)この種のことを行うソフトウェアはすでにありますか?私はかなり徹底的に見てきましたが、該当するものは見つかりませんでした。

2)このようなことをリバースエンジニアリングしようとするとき、どこから始めますか?役立つ記事、チュートリアル、書籍はありますか?

そして明確にするために:バックライトはすでに機能していますが、それは問題ではありません。バックライトの色を変更できるようにしたいだけです。この機能はハードウェアでサポートされています。ラップトップにはこれを行うWindowsソフトウェアが付属しており、Linuxでも同じ機能が必要です。私はこのソフトウェアを自分で書いても構わないと思っています。ただそれについて最善の方法を知りたいだけです。

ありがとう!

回答:


9

結局のところ、他の誰かが実際にそれを理解しました。notebookreview.comフォーラムの「klystron34」に対する巨大な「ありがとう」。詳細については、フォーラムのスレッドをご覧ください。

注:私の知る限り、これは、ストックClevo P150EMおよびP170EMに基づいた多く/ほとんどのラップトップで機能します。これは、Ubuntu 12.04のSager NP9170で個人的に確認されました。ご自身の責任で進めてください。あなたがこれを行うことによって生じた損害、およびその他の標準的なインターネットの免責事項について、私は責任を負いません。ご自身の責任で進めてください。さて、良いものに:

まず、カーネルモジュールをコンパイルできるようにする必要があるため、リポジトリを更新します。

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/<your-username-here>/dev/clevo-wmi-code/clevo_wmi.ko

正常に機能した場合、次の新しいディレクトリが作成されています。

/ sys / devices / platform / clevo_wmi / kbled

そのディレクトリに切り替えます:

cd /sys/devices/platform/clevo_wmi/kbled

次のコマンドを実行して、キーボードの中央部分の色を変更できるようになりました。

sudo su -c 'echo 100 > middle'

キーボードの中央セクションが緑色になります。置き換えるmiddleleft、またはrightキーボードの対応する部分を変更します。カラーコードのリストは次のとおりです。

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動的な色変更機能の使用方法については、ソースコードのディレクトリを確認してください。

このカーネルモジュールの作成に懸命に取り組んでいる開発者に感謝します。


私は喜んでいます:Dありがとう。いつかカーネルに組み込まれたら素晴らしいと思います。ところで:Unityや他のWMが使用できるように、これをUIに公開する標準的な方法はありますか?
bcelary

1
2017年12月の時点で、ドライバーがまだサポートしていないClevoモデルがいくつかあります。random_fadeおよびrandom_flickerは機能しますが、キーボードの特定のセクションを特定の色に設定しても機能しません。
ミュータントボブ

0

そのような機能にどのようにアクセスしますか?

これはおそらく、巧妙なスクリプティングとスタートアップ機能によって実現できます。

(Windowsでは、ハードウェアへの直接アクセスを許可するエキゾチックなメモリモデルでコードを記述するか、ハードウェアを検出および制御するドライバー(およびAPI)を記述する必要があります。)


好みをどのように選択しますか?

その後、いくつかの基本的なスクリプト(またはアイコン呼び出しスクリプト)は、特定の色設定を選択できます。

PythonをフロントエンドGUIに使用した場合、それも非常に簡単です。


お返事をありがとうございます!私が探しているのは次のいずれかです:a)すでにこれをしている、私が見逃したいくつかのソフトウェアへのリンク。b)キーボードの詳細を決定する際の開始点に関するガイダンス。
PopeJamal

チェックアウト:ubuntuforums.org/showthread.php
t



キーボードコンポーネントの部品番号/ブランドを特定する必要があります..
david6


0

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
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.