Initial commit
[indicator-keyboard-led.git] / README.md
CommitLineData
fc1c0791
AIL
1# indicator-keyboard-led - simulate keyboard lock keys LED
2
3This is a Unity application indicator designed for keyboards without lock
4keys LED. It allows the user to check the state of the three locks (Caps lock,
5Num lock and Scroll lock) without requiring any mouse or keyboard action. It
6also allows the lock keys to be toggled with mouse clicks, which could be
7useful for keyboards without Scroll lock keys or malfunctioning keyboards.
8
9## Screenshots
10
11![indicator default][sc1]
12Default appearance of the indicator with Num lock on and Caps and Scroll locks
13off.
14
15![indicator menu][sc2]
16Menu of the indicator, shown on click. The locks can be toggled by clicking
17the respective item in the menu.
18
19![indicator short][sc3]
20Alternative (short) appearance of the indicator.
21
22[sc1]: screenshots/sc1.png
23[sc2]: screenshots/sc2.png
24[sc3]: screenshots/sc3.png
25
26## Dependencies
27 - Python 3 (*)
28 - GTK+ 3 (*)
29 - AppIndicator 3 (*)
30 - Python 3 GObject introspection (python3-gi)
31 - xdotool
32
33Those marked with (*) are probably installed by default in recent Ubuntu
34distributions. To install the rest, run:
35
36 sudo apt-get install python3-gi xdotool
37
38## Usage
39
40 1. Install the dependencies listed above.
41 2. Clone this repository.
42 3. Add the script as a startup application. (Use option `--short` for short
43 appearance if desired.)
44 4. Run the script manually for the first time. (Alternatively, log out
45 and log in again.)
46 5. The indicator should be shown at the top right corner, with a filled circle
47 representing a lock turned on and an unfilled circle representing a lock
48 turned off.
49 6. Clicking on the indicator should result in a menu with the three locks.
50 Clicking on the menu item would cause the corresponding lock to toggle.
51
52## License
53
54The program "indicator-keyboard-led.py" is released under the MIT License.
55Please refer to the file for the full text of the license.
56
57The icon "icon.svg" is released to the public domain.
58
59## Credits
60
61I would like to thank [Tobias Schlitt](https://github.com/tobyS), who wrote
62[indicator-chars](https://github.com/tobyS/indicator-chars) which I used
63as a reference when writing this software.
64
65The icon used in the indicator (icon.svg) is modified from the file
66"emblem-readonly.svg" by [Jakub Steiner](http://jimmac.musichall.cz)
67who released it to the public domain for the
68[Tango Icon Library](http://tango.freedesktop.org/Tango_Icon_Library).
69
70---
71
72## Motivation
73
74I was a user of [indicator-keylock][ind-kl], but only one key lock can be shown
75on the panel. I didn't like the Notify OSD events either.
76
77I then came across [lks-indicator][lks] and [indicator-xbdmod][xbdmod], but
78I didn't like the fact that they refresh the indicator on a regular time
79interval (every *x* milliseconds) rather than on state changes (only when
80the locks are toggled).
81
82I also thought it would be fun to be able to toggle the locks on-screen.
83
84[ind-kl]: https://launchpad.net/~tsbarnes/+archive/ubuntu/indicator-keylock
85[lks]: https://github.com/SergKolo/lks-indicator
86[xbdmod]: https://github.com/sneetsher/indicator-xkbmod