Skip to content

Commit a86babe

Browse files
Update README.md
1 parent de9e95d commit a86babe

File tree

1 file changed

+30
-11
lines changed

1 file changed

+30
-11
lines changed

README.md

Lines changed: 30 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ lazy-password performs 2 functions:
55
* It tries to stop the usual corporate screen saver from locking your session.
66
* It let you enter quickly pre recorded passwords as they would be typed from a keyboard.
77

8-
8+
The number of passwords is set to 5.
99

1010
## Hardware
1111
You need:
@@ -14,36 +14,55 @@ You need:
1414
3. 1602 based LCD (1602 Arduino LCD Keypad Shield), the keys are not used.
1515

1616
## Operation
17-
On start, the device is protected. A user has to enter 5 numbers to unlock it.
17+
On start, the device is protected. In order to unlock it, a user has to enter a pin consisting
18+
of five hex numbers. Default pin is FF FF FF FF 00 and can be changed once unlocked.
1819
Once unlocked, mouse calibration is activated. Observe mouse movement on the screen.
1920
Use rotary to adjust it. Make sure there are no missed steps. Calibration is completed automaticaly
20-
after 5 seconds of inactivity, or by pressing the embeded rotary key.
21+
after 5 seconds of inactivity, or by pressing the rotary key.
2122

2223
In normal operation, rotary can be used to select a user name. Pressing the rotary key
2324
triggers corresponding password entry.
2425
Every minute a small mouse movement and shift key press are generated by a device.
2526

2627
## Password Update
27-
In order to record password, you have to get lazy-password in normal operation mode.
28-
29-
Prepare a file containing: ```<password_idx>:<password>\n\0```
28+
In order to record password, you have to first unlock lazy-password.
29+
Next you send a password update command using serial interface.
3030

31+
Prepare a command file containing: ```p<password_idx>:<password>\n\0```
3132

32-
For example p0.txt:
33+
For example password000.txt which sets first password to password000:
3334

3435
```
35-
0000000 0 : q u e r y 1 2 3 4 5 \n \0
36-
30 3a 71 75 65 72 79 31 32 33 34 35 0a 00
36+
0000000 p 0 : p a s s w o r d 0 0 0 \n \0
37+
70 30 3a 70 61 73 73 77 6f 72 64 30 30 30 0a 00
3738
```
3839
and execute on command line:
3940

4041
```
41-
sudo sh -c 'cat p0.txt > /dev/ttyACM0'
42+
sudo sh -c 'cat password000.txt > /dev/ttyACM0'
43+
```
44+
The maximum length of a password is 48 characters.
45+
The ```test``` directory contains numerous examples of files containing password and label update commands.
46+
47+
48+
## Label (username) Update
49+
Similar to password update, label update involves sending a command over a serial interface.
50+
51+
Command file contains: ```l<label_idx>:<label>\0```
52+
53+
For example label000.txt which sets first label to label000:
54+
55+
```
56+
0000000 l 0 : l a b e l 0 0 0 \0
57+
6c 30 3a 6c 61 62 65 6c 30 30 30 00
4258
```
59+
The maximum size of a label is 16 (length of the lcd display).
60+
The ```test``` directory contains numerous examples of files containing password and label update commands.
61+
4362

4463
## Keyboard
4564
lazy-password includes support for 2 keyboard layouts, US and Swiss German. The keyboard layout can
46-
be switched as needed.
65+
be switched as needed. The default keyboard layout is preserved in EEPROM.
4766

4867
## Security consideration:
4968
The passwords are stored unprotected in EEPROM and can be dumped using standard atmega tools.

0 commit comments

Comments
 (0)