have string example
# Gemma IO demo - Keyboard emu
-import digitalio
+from digitalio import DigitalInOut, Direction, Pull
import touchio
-from board import *
+import board
import time
from adafruit_hid.keyboard import Keyboard
from adafruit_hid.keycode import Keycode
+from adafruit_hid.keyboard_layout_us import KeyboardLayoutUS
# A simple neat keyboard demo in circuitpython
# The button pins we'll use, each will have an internal pullup
-buttonpins = [D2, D0]
+buttonpins = [board.D2, board.D1, board.D0]
# our array of button objects
buttons = []
-# One pin will be capacitive touch
-ptcbutton = touchio.TouchIn(D1)
-
# The keycode sent for each button, will be paired with a control key
-buttonkeys = [Keycode.A, Keycode.B, Keycode.C]
+buttonkeys = [Keycode.A, Keycode.B, "Hello World!\n"]
controlkey = Keycode.SHIFT
# the keyboard object!
kbd = Keyboard()
+# we're americans :)
+layout = KeyboardLayoutUS(kbd)
# make all pin objects, make them inputs w/pullups
for pin in buttonpins:
- button = digitalio.DigitalInOut(pin)
- button.direction = digitalio.Direction.INPUT
- button.pull = digitalio.Pull.UP
+ button = DigitalInOut(pin)
+ button.direction = Direction.INPUT
+ button.pull = Pull.UP
buttons.append(button)
-led = digitalio.DigitalInOut(D13)
-led.direction = digitalio.Direction.OUTPUT
+led = DigitalInOut(board.D13)
+led.direction = Direction.OUTPUT
print("Waiting for button presses")
@@ -47,10 +47,13 @@ while True:
while (not button.value):
pass # wait for it to be released!
- # type the keycode!
- k = buttonkeys[i] # get the corresp. keycode
- kbd.press(controlkey, k)
- kbd.release_all()
+ # type the keycode or string
+ k = buttonkeys[i] # get the corresp. keycode/str
+ if type(k) is str:
+ layout.write(k)
+ else:
+ kbd.press(controlkey, k) # press...
+ kbd.release_all() # release!
# turn off the LED
led.value = False
