เปิดใช้งานคีย์บอร์ดแบ็คไลท์บน Lenovo ที่รองรับ (เช่น Carbon X1) พร้อมคำสั่ง


18

บางแล็ปท็อป Lenovo มี backlights แป้นพิมพ์และพวกเขาสามารถที่จะเปิดใช้+Fn Spaceมีสามสถานะคือปิดปกติและสว่าง

เมื่อฉันเริ่ม Ubuntu แล็ปท็อปเหล่านี้จะกลับไปสู่ความสว่างหน้าจอที่ร้อนแรงและคีย์บอร์ดก็ดับลงเสมอ

ฉันต้องการความสว่างปานกลางและไฟคีย์บอร์ดเป็นค่าเริ่มต้นเพราะปกติฉันจะใช้แล็ปท็อปนี้ในสภาพแวดล้อมที่มืด

แสงไฟเป็นเรื่องง่าย อินเทอร์เน็ตเต็มไปด้วยข้อมูลเกี่ยวกับสิ่งนี้
echo 10 > /sys/class/backlight/acpi_video0/brightness

แต่ฉันจะเปิดไฟแบ็คไลท์ของแป้นพิมพ์ด้วยคำสั่งได้อย่างไร ฉันเคยดูที่นี่ แต่ดูเหมือนจะไม่ทำอะไรเลย:
/sys/class/leds/tpacpi\:\:thinklight


อัพเดท

ฉันพยายามfor i in {1..32}; do xset led $i; doneแต่ไม่มีอะไรเปลี่ยนแปลง บางทีไฟแบ็คไลท์ของคีย์บอร์ดสำหรับแล็ปท็อป Lenovo มีไดรเวอร์ที่เป็นกรรมสิทธิ์และสามารถควบคุมได้ผ่านทางเท่านั้นtpacpi?

ยังลองfor i in $(find /sys/devices/platform/thinkpad_acpi/leds/ | grep /brightness\); do echo 255 > $i; doneไม่มีประโยชน์


อย่างใดอย่างหนึ่งxset led (ซึ่งก็คือเกือบ 100% มีแนวโน้มที่จะ Caps Lock, ฯลฯ แต่ฉันจะเพิ่มในอยู่แล้ว)setledsหรือ แก้ไข:พบสิ่งนี้
Wilf

มันไม่ทำงาน ฉันพยายามfor i in {1..32}; do xset led $i; doneแต่ไม่มีอะไรเปลี่ยนแปลง
Redsandro

คำตอบ:


8

ดูเหมือนว่านี่จะได้รับการปรับปรุง X1C ของฉันกับ ubuntuMATE 16.04 LTS มี

/sys/class/leds/tpacpi\:\:kbd_backlight/brightness

ซึ่งทำงานได้ตามที่คาดหวังเช่น:

# echo 2 > /sys/class/leds/tpacpi\:\:kbd_backlight/brightness

ทำให้เต็มความรู้สึก :)


เฮ้ใช่แน่นอน! ขอบคุณที่สละเวลาแบ่งปันคำถามนี้กับคำถามเก่า :)
Redsandro

1
ไม่มี probs มันเป็นครั้งแรกเมื่อฉันถูกมองคิดว่ามันไม่สามารถที่ยากดังนั้นคิดว่าฉันควรปรับปรุงนี้กับผลการวิจัยของฉัน :)
wuxmedia

14

สิ่งนี้จำเป็นต้องได้รับการแก้ไขจริงๆ!

ฉันคิดว่านี่เป็นข้อผิดพลาดทั่วไปใน thinkpads ใหม่ หากคุณใช้แป้นพิมพ์แบบเบาfn + spaceก็จะดำเนินการได้:

echo 0 > /sys/class/leds/tpacpi\:\:thinklight/brightness

แป้นพิมพ์จะจางหายไป โปรดดูลิงค์ต่อไปนี้หากช่วยได้:

http://www.spinics.net/lists/ibm-acpi-devel/msg03090.html


เฮ้คุณพูดถูกฉันไม่รู้ เนื่องจากเราสามารถปิดเครื่องได้มัน 'รู้สึก' เหมือนว่ามันจะเป็นแค่เค้กชิ้นหนึ่งในการแก้ไขปัญหานี้สำหรับนักพัฒนาซอฟต์แวร์ มีรายงานข้อผิดพลาดหรือยัง
Redsandro

อีเมลแนะนำวิธีแก้ปัญหานี้: gist.github.com/hadess/6847281ความคิดใดที่เราจะนำไปใช้
rashad

4

นี่คือสคริปต์ทุบตีที่ฉันใช้:

https://gist.github.com/vzaliva/0adba7bc40e2f31a0b5f802af2a63267

ใช้งานได้กับ IBM ThinkPad X260 กับ Ubuntu 16.04


ไอบีเอ็ม? แล็ปท็อปเครื่องนั้นต้องมีอายุอย่างน้อย 10 ปี! แต่มันใช้ได้กับ Carbon X1 ของฉันด้วย! เพื่อความเป็นธรรมรหัสจากhadessเป็นคำตอบจากราก็ทำเช่นเดียวกัน แต่ฉันไม่ต้องการที่จะใช้เวลา 5 ขั้นตอนและติดตั้งคอมไพเลอร์ ฉันกำลังมองหาคำสั่งทุบตีง่าย ๆ และนี่คือสิ่งที่ฉันสามารถใช้ได้ ขอบคุณที่ตอบคำถามอายุ 3 ปีของฉัน ได้รับการยอมรับ
Redsandro

ดีใจที่คุณพบว่ามีประโยชน์ แน่นอนว่าฉันหมายถึง Lenovo Thinkpad และ X260 ของฉันเป็นของใหม่ ฉันเพิ่งมีปัญหาเดียวกันและพบคำตอบนี้ แต่ฉันไม่ชอบโปรแกรม C ซึ่งต้องใช้ modprobe ด้วยตนเองดังนั้นฉันเขียนมันเป็นสคริปต์อีกครั้ง ผู้เขียนโปรแกรม C ดั้งเดิมทำหน้าที่ยกของหนัก
krokodil

3

ตกลงใช้งานได้ดีกับฉันด้วยส่วนสำคัญนี้:

https://gist.github.com/hadess/6847281

  • ครั้งแรกของการดาวน์โหลดทั้งหมดสรุปสาระสำคัญข้างต้นผมตั้งชื่อมันไปแทนThinkLight.ctmp.c
  • ตรวจสอบให้แน่ใจว่าคุณติดตั้ง glib-2.0 แล้ว:

    sudo apt-get install libglib2.0-dev
    
  • คอมไพล์ThinkLight.cดังต่อไปนี้:

    gcc -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include ThinkLight.c -o ThinkLight -lglib-2.0
    
  • ec_sysโมดูลโหลด(สามารถเพิ่ม/etc/modulesในตอนบูต):

    sudo modprobe ec_sys
    
  • ในที่สุดก็ดำเนินการThinkLightกับอาร์กิวเมนต์ระดับ (0, 1 หรือ 2):

     sudo ./ThinkLight 0
     sudo ./ThinkLight 1
     sudo ./ThinkLight 2
    

ขอขอบคุณเป็นพิเศษสำหรับhadess ที่ทำให้สิ่งนี้เกิดขึ้น!


มีความคิดวิธีการทำงานนี้โดยไม่ sudo? พยายามเรียกใช้ภายในสคริปต์อื่นและทำงานในฐานะผู้ใช้ของฉัน
zsquare

ฉันลองสิ่งนี้และมีข้อผิดพลาด :( ThinkLight.c: ในฟังก์ชั่น 'main': ThinkLight.c: 56: 6: คำเตือน: การประกาศโดยนัยของฟังก์ชัน 'lseek' [-Wimplicit-function-declaration] if (lseek (fd, 0xd, SEEK_CUR) <0) {^ ~~~~ ThinkLight.c: 60: 6: คำเตือน: การประกาศโดยนัยของฟังก์ชัน 'เขียน' [-Wimplicit-function-declaration] ถ้า (เขียน (fd, & ระดับ [ระดับ], 1) ) <0) {^ ~~~~
Heriberto Juarez

@HeribertoJuarez นี่เป็นคำตอบเก่าคุณสามารถจัดการกับเคอร์เนล Linux ใหม่ได้โดยตรง ตรวจสอบ wuxmedia ของคำตอบ
รา

1

T450 ของฉันจะไม่เปิดใช้งานไฟแบ็คไลท์ของคีย์บอร์ดอีกครั้งเมื่อกลับมาทำงานต่อกับเมล็ดที่เก่ากว่าแล้ว 4.6 FWIW ที่มี 4.6 ในขณะนี้แสงไฟของคีย์บอร์ดถูกตั้งค่าเป็นความสว่างที่เคยมีมาก่อนที่จะถูกระงับ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.