Skip to content

Commit 9eadd3a

Browse files
authored
Add files via upload
1 parent 907d708 commit 9eadd3a

File tree

1 file changed

+55
-0
lines changed
  • Gemma/GemmaM0_Password_Vault

1 file changed

+55
-0
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# SPDX-FileCopyrightText: 2018 John Park for Adafruit Industries
2+
#
3+
# SPDX-License-Identifier: MIT
4+
5+
# Gemma M0 Password Vault
6+
# press cap touch pads to enter strong passwords over USB
7+
8+
import time
9+
10+
import board
11+
import touchio
12+
import usb_hid
13+
from adafruit_hid.keyboard import Keyboard
14+
from adafruit_hid.keyboard_layout_us import KeyboardLayoutUS
15+
from digitalio import DigitalInOut, Direction
16+
17+
led = DigitalInOut(board.D13)
18+
led.direction = Direction.OUTPUT
19+
20+
touch0 = touchio.TouchIn(board.A0)
21+
touch1 = touchio.TouchIn(board.A1)
22+
touch2 = touchio.TouchIn(board.A2)
23+
24+
# the keyboard object
25+
# sleep for a bit to avoid a race condition on some systems
26+
time.sleep(1)
27+
kbd = Keyboard(usb_hid.devices)
28+
layout = KeyboardLayoutUS(kbd)
29+
30+
while True:
31+
if touch0.value:
32+
led.value = True
33+
print("A0 touched!")
34+
layout.write("?F3ErPs5.C.m.0.d.S.") # enter your own password here
35+
time.sleep(1)
36+
37+
if touch1.value:
38+
led.value = True
39+
print("A1 touched!")
40+
layout.write("6@LKNs(WV[vq6N") # enter your own password here
41+
time.sleep(1)
42+
43+
if touch2.value:
44+
led.value = True
45+
print("A2 touched!")
46+
layout.write("3Ff0rT@9j2y&") # enter your own password here
47+
time.sleep(1)
48+
49+
time.sleep(0.01)
50+
51+
print("Waiting for cap touches")
52+
# turn off the LED
53+
led.value = False
54+
55+
time.sleep(0.01)

0 commit comments

Comments
 (0)