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 ## Installation from Ubuntu PPA
21 sudo add-apt-repository ppa:adrianiainlam/indicator-keyboard-led
23 sudo apt-get install indicator-keyboard-led
25 After installation the postinst script will prompt you for preferences
26 configuration. These config are explained here:
30 This option allows you to reorder the locks and also to hide
31 some locks if you don't need them.
33 Use a string consisting of zero or one occurrence of the
34 characters 'N', 'C' and 'S' to set this option.
36 For exampe, the default order is "Num Caps Scroll".
37 ![Num Caps Scroll][sc1]
39 **CNS** changes this to "Caps Num Scroll".
40 ![Caps Num Scroll][sc4]
42 **NC** hides Scroll lock from the default appearance.
45 [sc1]: screenshots/sc1.png
46 [sc2]: screenshots/sc2.png
47 [sc4]: screenshots/sc4.png
48 [sc5]: screenshots/sc5.png
52 `xdotool` is used to emulate key strokes to set/unset locks on mouse clicks.
53 If you installed xdotool at a non-default location, please provide its full
54 path (e.g. /home/user/bin/xdotool) with this option.
56 If it is installed in your $PATH environment variable, or not installed at
57 all, leave this option blank.
59 ### Changing your mind
61 If you want to change these settings afterwards, simply run
63 sudo dpkg-reconfigure indicator-keyboard-led
65 and you will be prompted again.
69 The indicator will be configured to autostart on log-in. To start using the
70 indicator after installation, log-out and log-in again, or manually start
71 the indicator (search for "indicator-keyboard-led" in the dash).
73 The indicator should be shown at the top right corner, with a filled circle
74 representing a lock turned on and an unfilled circle representing a lock
77 Clicking on the indicator should result in a menu with the three locks.
78 Clicking on the menu item would cause the corresponding lock to toggle.
80 ## Known bugs / Troubleshooting
82 ### Indicator label does not show on Xfce / XUbuntu
84 See [#6](https://github.com/adrianiainlam/indicator-keyboard-led/issues/6).
86 ### Pressing Scroll Lock does nothing
88 It seems to be a common problem that Scroll Lock is not usable in Ubuntu.
89 To solve this, do the following (assuming US keyboard):
91 > # backup your symbols file
92 > sudo cp /usr/share/X11/xkb/symbols/us{,.distribution}
94 > Add the following line in the `xkb_symbols "basic" {` section. Do not worry
95 > if that second line is not there, it is only there for some languages and
96 > was not there for us on my system.
99 > modifier_map Mod3 { Scroll_Lock }; <==<< Add this line
101 > include "level3(ralt_switch)" <==<< before this line
105 > You may have to do the same in your other layouts if you switch between
108 > Also, there is a cache where xkb layouts live. You should clear it before
109 > restarting your X server to check the new keyboard symbol file(s).
111 > sudo dpkg-reconfigure xkb-data
113 *By Pykler and Giovanni Toraldo on AskUbuntu.* [Source][quotesrc]. Slightly
114 modified. [Original source][origsrc] by dm+ on PCLinuxOS-Forums.
116 [origsrc]: http://www.pclinuxos.com/forum/index.php/topic,125690.msg1052201.html?PHPSESSID=2qsv83lve6dgd0ivq14bfcjc30#msg1052201
117 [quotesrc]: http://askubuntu.com/a/597757/274080
119 ### Scroll lock does not appear on indicator
121 Your installed GTK+ version is probably older than 3.18, which
122 does not support [`gdk_keymap_get_scroll_lock_state ()`][gtkdoc-scroll].
123 The earliest Ubuntu release that supports GTK+ 3.18 is 16.04 (Xenial).
124 If you use an older version, Scroll lock functionality will be disabled.
125 Please consider upgrading your system if you really want Scroll lock.
127 If your installed GTK+ is 3.18+ then please file a bug report.
129 [gtkdoc-scroll]: https://developer.gnome.org/gdk3/stable/gdk3-Keyboard-Handling.html#gdk-keymap-get-scroll-lock-state
131 ### Drop-down menu only has "Quit", the clickable locks do not appear
133 Please verify that xdotool is installed in your PATH with the executable
134 bit set. If you provided a custom path to xdotool please verify that it
135 is correct and is an executable regular file.
139 Unfortunately, in order to work-around labels not being shown on newer
140 non-Unity-based Ubuntus, I have re-designed the indicators to be based
141 purely on icons instead. This means there will no longer be labels to
142 localize, and I instead have hardcoded icons.
144 The icons are SVGs so you can still manually edit them if you want.
145 Look for the `<text>` tag at the end of the SVGs.
147 The menu items shown on click are still localized.
149 I have included a screenshot below to show the old design (version 1.1)
150 which you can still install manually if you wish.
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 icons "indicator-keyboard-led*.svg" are 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 icons used in the indicator (indicator-keyboard-led*.svg) are 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