diff --git a/Introducing_Gemma_M0/Gemma_HIDkeyboard.py b/Introducing_Gemma_M0/Gemma_HIDkeyboard.py index a15f4d696..e443d7af5 100644 --- a/Introducing_Gemma_M0/Gemma_HIDkeyboard.py +++ b/Introducing_Gemma_M0/Gemma_HIDkeyboard.py @@ -1,37 +1,37 @@ # 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