ThinkLight

From ThinkWiki
Revision as of 14:12, 17 December 2019 by Bugmenot (Talk | contribs)
Jump to: navigation, search

ThinkLight

The ThinkLight is a small 5V LED integrated into the top left or middle area of the display bezel in some of the older ThinkPads. It illuminates the ThinkPad's keyboard so that one can type in the dark without using an external light source. The ThinkLight is toggled via the Fn+PageUp key combination or via ACPI on some of the newer models.

Linux Support

Controlling the ThinkLight with the keyboard works on all systems since it relies on the UEFI/BIOS exclusively. Just press Fn+PageUp to toggle its state between on and off.

Starting with the xx30 series models (T430, T530, W530, etc), the keystroke was changed to Fn+Space in order to better accommodate the 6-row chiclet keyboard layout. On models with backlit keyboards, there are 4 states: off, dim backlit, full backlit, and full backlit w/ ThinkLight. Models without backlit keyboards only have ThinkLight on and ThinkLight off, which can be obtained by disabling the backlit keyboard in the UEFI of models with backlit keyboards installed.

Software Control via thinkpad-acpi

Support for controlling the ThinkLight with ACPI is provided by thinkpad-acpi. After installing it, a simple

# echo 255 > /sys/class/leds/tpacpi\:\:thinklight/brightness

switches it on and a

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

switches it off again.

This allows one to control the ThinkLight in scripts. Unfortunately, no known ThinkPad with a ThinkLight comes with an ambient light sensor.

To use these controls in scripts without root permissions, you should run

# chmod 666 /sys/class/leds/tpacpi\:\:thinklight/brightness, which is probably best done using udev.

Applications

  • led-notification: Pidgin plugin to use any LED to indicate new messages. I've forked led-notification to support the ThinkLight via thinkpad-acpi. The plugins below either weren't compatible with the latest pidgin or didn't compile for me. The original author of led-notification seems MIA. Another fork pidgin-led-notification to write user defined strings (added to Gentoo/Linux)
  • gaim-thinklight: If you are using GAIM, the gaim-thinklight plugin will enable you to use the ThinkLight as an indicator for new messages. This depends on thinkpad-acpi.
  • gaim-lighthink: gaim-lightthink is an alternative to gaim-thinklight.
  • pidgin-blinklight:pidgin-blinklight is a replacement for gaim-lighthink intended for use with Pidgin.
  • rocklight: rocklight is a xmms visualization plugin that makes the ThinkLight flash to the beat of your music. The package also includes a standalone stroboscope mode program.
  • thinkblinkd:[1] Thinkblinkd is a python daemon to control the thinklight (and possibly other lights on your Thinkpad) it comes with the daemon and a control script.
  • The script for theft alarm using HDAPS optionally flashes the ThinkLight when the alarm is armed (disabled by default, to enable set $use_light=1).
  • kopete-thinklight:[2] This plugin for kopete will enable the usage of the thinklight as notifiaction for new messages.
  • stupid little hack to blink the ThinkLight: [3] A little C program that may be set SUID so that you can use it from non-privileged programs that needs to do a little notification.
  • thinkalert: [4] Another C program that may be set SUID to allow non-privileged programs to manipulate the ThinkLight. Adds some features over the "stupid little hack to blink the ThinkLight" program.
  • thinklight-notification: This Evolution plugin notifies the user with a blinking light whenever a new message has arrived.
  • ThinkBlink: blink.sh is an universal bash script making ThinkLight blink. It can be used with any application.

Windows Support

Likewise, controlling the ThinkLight with the keyboard works without any additional software. The Hotkey Features software from IBM/Lenovo adds OSD icons that appear when the ThinkLight is turned on/off.

Software Control via Hotkey Features

The Hotkey Features software exposes an interface that allows (among other things) to control the ThinkLight. See Python script for Windows to control ThinkPad features for more information.

Software Control via Embedded Controller

By writing 2 pre-defined values to register 0x3B to the embedded controller, the ThinkLight can be controlled manually with this method. Writing the value as 0x10 will disable the ThinkLight, while writing the value as 0x12 will enable the ThinkLight.

Models featuring this technology

featuring a white ThinkLight

featuring an amber ThinkLight

featuring two white ThinkLights