#!/usr/bin/env python3 import time import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) GPIO.setup(26, GPIO.IN, pull_up_down=GPIO.PUD_UP) GPIO.setup(16, GPIO.IN, pull_up_down=GPIO.PUD_UP) NULL_CHAR = chr(0) def write_report(report): with open('/dev/hidg0', 'rb+') as fd: fd.write(report.encode()) while True: if not(GPIO.input(26)): # 26 = a write_report(NULL_CHAR*2+chr(4)+NULL_CHAR*5) write_report(NULL_CHAR*8) if not(GPIO.input(16)): # 16 = b write_report(chr(32)+NULL_CHAR+chr(5)+NULL_CHAR*5) write_report(NULL_CHAR*8)