Clevo 랩탑의 멀티 컬러 백라이트 키보드 용 리버스 엔지니어 드라이버


13

내 상황은 다음과 같습니다.

나는 최근 Sager NP9170 (Clevo P170EM과 동일)을 구입했으며 멀티 컬러 백라이트 키보드를 가지고 있습니다. Windows 7에서는 백라이트의 색상을 소수의 색상 (파란색, 녹색, 빨간색 등)으로 변경할 수 있는 을 시작할 수 있습니다.

Linux에서 동일한 기능을 원합니다. 이 작업을 수행하는 소프트웨어를 찾을 수 없으므로 직접 작성해야한다고 생각합니다. 저는 프로그래머로 일하고 있지만 저수준 프로그래밍을 많이하지 않았으며 확실히 장치 드라이버를 작성하지 않았으므로이 두 가지 질문에 답할 수 있는지 궁금합니다.

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 감사합니다. 언젠가 커널에 포함되면 좋을 것입니다. BTW : UI에 이것을 노출시키는 표준 방법이 있습니까? 그래서 Unity 나 다른 WM이 그것을 사용할 수 있습니까?
bcelary

1
2017 년 12 월 현재 드라이버가 아직 지원하지 않는 Clevo 모델이 있습니다. random_fade 및 random_flicker는 작동하지만 키보드의 특정 섹션을 특정 색상으로 설정하면 작동하지 않습니다.
돌연변이 밥

0

그러한 기능에 어떻게 액세스합니까?

이것은 아마도 영리한 스크립팅과 시작 기능에 의해 달성 될 수 있습니다.

(Windows에서는 직접 하드웨어 액세스를 허용하는 이국적인 메모리 모델로 코드를 작성하거나 하드웨어를 감지하고 제어하기 위해 드라이버 (및 API)를 작성해야합니다.)


기본 설정을 어떻게 선택합니까?

그런 다음 일부 기본 스크립트 (또는 아이콘 호출 스크립트)는 특정 색상 기본 설정을 선택할 수 있습니다.

프론트 엔드 GUI에 Python을 사용했다면 상당히 간단합니다.


답변 주셔서 감사합니다! 내가 찾고있는 것은 a) 이미 놓친 일부 소프트웨어에 대한 링크입니다. b) 키보드에 대해 더 많은 것을 결정하기 위해 어디에서 시작해야하는지에 대한 지침.
PopeJamal




키보드 구성 요소의 부품 번호 / 브랜드를 식별해야합니다.
david6


0

교황의 위의 방법을 사용하여 색상을 변경하는 스크립트를 만들었습니다. 여기에서 찾을 수 있습니다 : 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.