1 # indicator-keyboard-led - simulate keyboard lock keys LED
3 This is a Unity application indicator designed for keyboards without lock
4 keys LED. It allows the user to check the state of the three locks (Caps lock,
5 Num lock and Scroll lock) without requiring any mouse or keyboard action. It
6 also allows the lock keys to be toggled with mouse clicks, which could be
7 useful for keyboards without Scroll lock keys or malfunctioning keyboards.
11 ![indicator default][sc1]
12 Default appearance of the indicator with Num lock on and Caps and Scroll locks
15 ![indicator menu][sc2]
16 Menu of the indicator, shown on click. The locks can be toggled by clicking
17 the respective item in the menu.
19 ![indicator short][sc3]
20 Alternative (short) appearance of the indicator.
22 ## Installation from Ubuntu PPA
24 sudo add-apt-repository ppa:adrianiainlam/indicator-keyboard-led
26 sudo apt-get install indicator-keyboard-led
28 After installation the postinst script will prompt you for preferences
29 configuration. These config are explained here:
33 The default appearance of the indicator has long labels:
34 ![⚫Num ⚫Caps ⚫Scroll][sc1]
36 On small displays it may be preferable to use short labels:
41 This option allows you to reorder the locks and also to hide
42 some locks if you don't need them.
44 Use a string consisting of zero or one occurrence of the
45 characters 'N', 'C' and 'S' to set this option.
47 For exampe, the default order is "Num Caps Scroll".
48 ![⚫Num ⚫Caps ⚫Scroll][sc1]
50 **CNS** changes this to "Caps Num Scroll".
51 ![⚫Caps ⚫Num ⚫Scroll][sc4]
53 **NC** hides Scroll lock from the default appearance.
56 **C**, combined with the previous *short* option,
57 would give a very compact Caps lock indicator.
60 [sc1]: screenshots/sc1.png
61 [sc2]: screenshots/sc2.png
62 [sc3]: screenshots/sc3.png
63 [sc4]: screenshots/sc4.png
64 [sc5]: screenshots/sc5.png
65 [sc6]: screenshots/sc6.png
69 `xdotool` is used to emulate key strokes to set/unset locks on mouse clicks.
70 If you installed xdotool at a non-default location, please provide its full
71 path (e.g. /home/user/bin/xdotool) with this option.
73 If it is installed in your $PATH environment variable, or not installed at
74 all, leave this option blank.
76 ### Changing your mind
78 If you want to change these settings afterwards, simply run
80 sudo dpkg-reconfigure indicator-keyboard-led
82 and you will be prompted again.
86 The indicator will be configured to autostart on log-in. To start using the
87 indicator after installation, log-out and log-in again, or manually start
88 the indicator (search for "indicator-keyboard-led" in the dash).
90 The indicator should be shown at the top right corner, with a filled circle
91 representing a lock turned on and an unfilled circle representing a lock
94 Clicking on the indicator should result in a menu with the three locks.
95 Clicking on the menu item would cause the corresponding lock to toggle.
97 ## Known bugs / Troubleshooting
99 ### Pressing Scroll Lock does nothing
101 It seems to be a common problem that Scroll Lock is not usable in Ubuntu.
102 To solve this, do the following (assuming US keyboard):
104 > # backup your symbols file
105 > sudo cp /usr/share/X11/xkb/symbols/us{,.distribution}
107 > Add the following line in the `xkb_symbols "basic" {` section. Do not worry
108 > if that second line is not there, it is only there for some languages and
109 > was not there for us on my system.
112 > modifier_map Mod3 { Scroll_Lock }; <==<< Add this line
114 > include "level3(ralt_switch)" <==<< before this line
118 > You may have to do the same in your other layouts if you switch between
121 > Also, there is a cache where xkb layouts live. You should clear it before
122 > restarting your X server to check the new keyboard symbol file(s).
124 > sudo dpkg-reconfigure xkb-data
126 *By Pykler and Giovanni Toraldo on AskUbuntu.* [Source][quotesrc]. Slightly
127 modified. [Original source][origsrc] by dm+ on PCLinuxOS-Forums.
129 [origsrc]: http://www.pclinuxos.com/forum/index.php/topic,125690.msg1052201.html?PHPSESSID=2qsv83lve6dgd0ivq14bfcjc30#msg1052201
130 [quotesrc]: http://askubuntu.com/a/597757/274080
132 ### Scroll lock does not appear on indicator
134 Your installed GTK+ version is probably older than 3.18, which
135 does not support [`gdk_keymap_get_scroll_lock_state ()`][gtkdoc-scroll].
136 The earliest Ubuntu release that supports GTK+ 3.18 is 16.04 (Xenial).
137 If you use an older version, Scroll lock functionality will be disabled.
138 Please consider upgrading your system if you really want Scroll lock.
140 If your installed GTK+ is 3.18+ then please file a bug report.
142 [gtkdoc-scroll]: https://developer.gnome.org/gdk3/stable/gdk3-Keyboard-Handling.html#gdk-keymap-get-scroll-lock-state
144 ### Drop-down menu only has "Quit", the clickable locks do not appear
146 Please verify that xdotool is installed in your PATH with the executable
147 bit set. If you provided a custom path to xdotool please verify that it
148 is correct and is an executable regular file.
152 As motivated by Issue #1, this script has been localized to French (with
153 the assistance of Wikipedia and Google Translate). Corrections to the
154 translation, as well as translations to other languages, are welcome.
155 Feel free to create a pull request or open an issue.
157 ![indicator default, French locale][sc7]
158 Default appearance in a French locale.
160 [sc7]: screenshots/sc7.png
164 The program "indicator-keyboard-led.py" is released under the MIT License.
165 Please refer to the file for the full text of the license.
167 The icon "indicator-keyboard-led.svg" is released to the public domain.
171 I would like to thank [Tobias Schlitt](https://github.com/tobyS), who wrote
172 [indicator-chars](https://github.com/tobyS/indicator-chars) which I used
173 as a reference when writing this software.
175 The icon used in the indicator (indicator-keyboard-led.svg) is modified
176 from the file "emblem-readonly.svg" by
177 [Jakub Steiner](http://jimmac.musichall.cz)
178 who released it to the public domain for the
179 [Tango Icon Library](http://tango.freedesktop.org/Tango_Icon_Library).
185 I was a user of [indicator-keylock][ind-kl], but only one key lock can be shown
186 on the panel. I didn't like the Notify OSD events either.
188 I then came across [lks-indicator][lks] and [indicator-xbdmod][xbdmod], but
189 I didn't like the fact that they refresh the indicator on a regular time
190 interval (every *x* milliseconds) rather than on state changes (only when
191 the locks are toggled).
193 I also thought it would be fun to be able to toggle the locks on-screen.
195 [ind-kl]: https://launchpad.net/~tsbarnes/+archive/ubuntu/indicator-keylock
196 [lks]: https://github.com/SergKolo/lks-indicator
197 [xbdmod]: https://github.com/sneetsher/indicator-xkbmod