From 6a0823c4d3b8baa58238a90e5af2a1d31c80cac3 Mon Sep 17 00:00:00 2001 From: justinmbrock <6379307+justinmbrock@users.noreply.github.com> Date: Tue, 9 Feb 2021 14:12:32 -0500 Subject: [PATCH 01/11] Update dependencies: add usb_hid --- boards/pyruler/4.x/code.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/boards/pyruler/4.x/code.py b/boards/pyruler/4.x/code.py index d7cce40..dca25f1 100755 --- a/boards/pyruler/4.x/code.py +++ b/boards/pyruler/4.x/code.py @@ -16,10 +16,11 @@ # Used if we do HID output, see below if ENABLE_KEYBOARD: + import usb_hid from adafruit_hid.keyboard import Keyboard from adafruit_hid.keycode import Keycode from adafruit_hid.keyboard_layout_us import KeyboardLayoutUS - kbd = Keyboard() + kbd = Keyboard(usb_hid.devices) layout = KeyboardLayoutUS(kbd) #print(dir(board), os.uname()) # Print a little about ourselves From 15ff792f4c3b303f6d92da4b971fe5db8bf98bcf Mon Sep 17 00:00:00 2001 From: justinmbrock <6379307+justinmbrock@users.noreply.github.com> Date: Tue, 9 Feb 2021 14:54:09 -0500 Subject: [PATCH 02/11] Update code.py --- boards/pyruler/4.x/code.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/boards/pyruler/4.x/code.py b/boards/pyruler/4.x/code.py index dca25f1..d7cce40 100755 --- a/boards/pyruler/4.x/code.py +++ b/boards/pyruler/4.x/code.py @@ -16,11 +16,10 @@ # Used if we do HID output, see below if ENABLE_KEYBOARD: - import usb_hid from adafruit_hid.keyboard import Keyboard from adafruit_hid.keycode import Keycode from adafruit_hid.keyboard_layout_us import KeyboardLayoutUS - kbd = Keyboard(usb_hid.devices) + kbd = Keyboard() layout = KeyboardLayoutUS(kbd) #print(dir(board), os.uname()) # Print a little about ourselves From fae0a3e3e5268d30c6d6bff551cfeeb2b5c15e7b Mon Sep 17 00:00:00 2001 From: justinmbrock <6379307+justinmbrock@users.noreply.github.com> Date: Tue, 9 Feb 2021 14:55:11 -0500 Subject: [PATCH 03/11] Create code.py --- boards/pyruler/6.x/code.py | 132 +++++++++++++++++++++++++++++++++++++ 1 file changed, 132 insertions(+) create mode 100644 boards/pyruler/6.x/code.py diff --git a/boards/pyruler/6.x/code.py b/boards/pyruler/6.x/code.py new file mode 100644 index 0000000..dca25f1 --- /dev/null +++ b/boards/pyruler/6.x/code.py @@ -0,0 +1,132 @@ +import os +import board +from digitalio import DigitalInOut, Direction +import time +import touchio + +# Set this to True to turn the touchpads into a keyboard +ENABLE_KEYBOARD = False + +WINDOWS = "W" +MAC = "M" +LINUX = "L" # and Chrome OS + +# Set your computer type to one of the above +OS = WINDOWS + +# Used if we do HID output, see below +if ENABLE_KEYBOARD: + import usb_hid + from adafruit_hid.keyboard import Keyboard + from adafruit_hid.keycode import Keycode + from adafruit_hid.keyboard_layout_us import KeyboardLayoutUS + kbd = Keyboard(usb_hid.devices) + layout = KeyboardLayoutUS(kbd) + +#print(dir(board), os.uname()) # Print a little about ourselves + +led = DigitalInOut(board.D13) +led.direction = Direction.OUTPUT + +touches = [DigitalInOut(board.CAP0)] +for p in (board.CAP1, board.CAP2, board.CAP3): + touches.append(touchio.TouchIn(p)) + +leds = [] +for p in (board.LED4, board.LED5, board.LED6, board.LED7): + led = DigitalInOut(p) + led.direction = Direction.OUTPUT + led.value = True + time.sleep(0.25) + leds.append(led) +for led in leds: + led.value = False + + +cap_touches = [False, False, False, False] + +def read_caps(): + t0_count = 0 + t0 = touches[0] + t0.direction = Direction.OUTPUT + t0.value = True + t0.direction = Direction.INPUT + # funky idea but we can 'diy' the one non-hardware captouch device by hand + # by reading the drooping voltage on a tri-state pin. + t0_count = t0.value + t0.value + t0.value + t0.value + t0.value + \ + t0.value + t0.value + t0.value + t0.value + t0.value + \ + t0.value + t0.value + t0.value + t0.value + t0.value + cap_touches[0] = t0_count > 2 + cap_touches[1] = touches[1].raw_value > 3000 + cap_touches[2] = touches[2].raw_value > 3000 + cap_touches[3] = touches[3].raw_value > 3000 + return cap_touches + +def type_alt_code(code): + kbd.press(Keycode.ALT) + for c in str(code): + if c == '0': + keycode = Keycode.KEYPAD_ZERO + elif '1' <= c <= '9': + keycode = Keycode.KEYPAD_ONE + ord(c) - ord('1') + else: + raise RuntimeError("Only number codes permitted!") + kbd.press(keycode) + kbd.release(keycode) + kbd.release_all() + +while True: + caps = read_caps() + print(caps) + # light up the matching LED + for i,c in enumerate(caps): + leds[i].value = c + if caps[0]: + if ENABLE_KEYBOARD: + if OS == WINDOWS: + type_alt_code(234) + elif OS == MAC: + kbd.send(Keycode.ALT, Keycode.Z) + elif OS == LINUX: + kbd.press(Keycode.CONTROL, Keycode.SHIFT) + kbd.press(Keycode.U) + kbd.release_all() + kbd.send(Keycode.TWO) + kbd.send(Keycode.ONE) + kbd.send(Keycode.TWO) + kbd.send(Keycode.SIX) + kbd.send(Keycode.ENTER) + if caps[1]: + if ENABLE_KEYBOARD: + if OS == WINDOWS: + type_alt_code(230) + elif OS == MAC: + kbd.send(Keycode.ALT, Keycode.M) + elif OS == LINUX: + kbd.press(Keycode.CONTROL, Keycode.SHIFT) + kbd.press(Keycode.U) + kbd.release_all() + kbd.send(Keycode.ZERO) + kbd.send(Keycode.THREE) + kbd.send(Keycode.B) + kbd.send(Keycode.C) + kbd.send(Keycode.ENTER) + if caps[2]: + if ENABLE_KEYBOARD: + if OS == WINDOWS: + type_alt_code(227) + elif OS == MAC: + kbd.send(Keycode.ALT, Keycode.P) + elif OS == LINUX: + kbd.press(Keycode.CONTROL, Keycode.SHIFT) + kbd.press(Keycode.U) + kbd.release_all() + kbd.send(Keycode.ZERO) + kbd.send(Keycode.THREE) + kbd.send(Keycode.C) + kbd.send(Keycode.ZERO) + kbd.send(Keycode.ENTER) + if caps[3]: + if ENABLE_KEYBOARD: + layout.write('https://www.digikey.com/python\n') + time.sleep(0.1) From bc694a6680dc611b8d9153629c6dd32dc2f519c8 Mon Sep 17 00:00:00 2001 From: justinmbrock <6379307+justinmbrock@users.noreply.github.com> Date: Tue, 9 Feb 2021 14:56:22 -0500 Subject: [PATCH 04/11] Create README.txt --- boards/pyruler/6.x/README.txt | 66 +++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) create mode 100644 boards/pyruler/6.x/README.txt diff --git a/boards/pyruler/6.x/README.txt b/boards/pyruler/6.x/README.txt new file mode 100644 index 0000000..55947f6 --- /dev/null +++ b/boards/pyruler/6.x/README.txt @@ -0,0 +1,66 @@ +Welcome to CircuitPython! +############################# + +Time to set the record STRAIGHT: CircuitPython RULEs and don't try to argue, +we won't budge an INCH! With this 6" long dev board, you can see how +CircuitPython deveopment MEASURES up against the standard compile/upload +cycle with a handy reference guide to common packages. + +Best of all, this ruler is smart! You can plug it into your computer, and +turn it into a 4-button keypad that will type those pesky Ohm, Mu and Pi +symbols (see below on how to do that). + +We worked with Digi-Key, our favorite electronics component supplier, to +design this super cool ruler and have it released in celebration of +CircuitPython day, which we observe on August 8 every year. (8/8 is the +snakiest of dates, don't you agree?) + +Visit the PyRuler product page here for more info: + https://adafruit.com/product/4319 + +For the latest version of CircuitPython for this board, visit + https://circuitpython.org/board/pyruler/ + +############################# + +The PyRuler has a very tiny disk drive so we have disabled Mac OS X indexing +which could take up that valuable space. + +So *please* do not remove the empty .fseventsd/no_log, .metadata_never_index +or .Trashes files! + +############################# + +The pre-loaded demo shows off what your PyRuler can do with CircuitPython. +All the code is stored in a code.py file. Edit it with the Mu code editor and +save to restart the program. +The demo program watches for capacitive finger touches on the 4 pads and will +light up the matching LED to let you know it was detected. + +You can turn the PyRuler into a keyboard! Edit code.py and find the line that asays + +# Set this to True to turn the touchpads into a keyboard +ENABLE_KEYBOARD = False + +Change the 'False' value to 'True' and save. Now when you touch the Ohm, Mu, +or Pi symbol, that key will be typed out. +Open up your browser, click on the address bar and touch the Digi-Key logo for + +For more details on how to use CircuitPython, visit + https://adafruit.com/product/4319 +and check out all the tutorials we have! +The PyRuler contains the circuitry for a Trinket M0 so you may also want to +visit + https://adafruit.com/product/3500 +To learn more about the amazing projects you can build with a Trinket M0 + +############################# +CircuitPython Quick Start: + +Changing the code is as easy as editing main.py in your favorite text editor. +We recommend Mu, Atom, Notepad++, or Visual Studio Code. After the file is +saved, CircuitPython will automatically reload the latest code. + +Connecting to the serial port will give you access to better error messages and +interactive CircuitPython (known as the REPL). On Windows we recommend +Tera Term or PuTTY. On Mac OSX and Linux, 'screen' can be used from a terminal. From 425f26477719b4ade52ebbd970d98daebc4a8c7f Mon Sep 17 00:00:00 2001 From: justinmbrock <6379307+justinmbrock@users.noreply.github.com> Date: Tue, 9 Feb 2021 15:02:25 -0500 Subject: [PATCH 05/11] Add files via upload --- boards/pyruler/6.x/__init__.mpy | Bin 0 -> 441 bytes 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 boards/pyruler/6.x/__init__.mpy diff --git a/boards/pyruler/6.x/__init__.mpy b/boards/pyruler/6.x/__init__.mpy new file mode 100644 index 0000000000000000000000000000000000000000..29daa942e607fe56408fae27f4a84cccb5fee80f GIT binary patch literal 441 zcmZ`#!AiqG5Zz5%EQTKHp%G~@wQ02o34$e1M3gEjBIw0Sg>}ttn}s$ByPHZ+#y_eC zJPUqB{Tba_DvCIVVTO6UdGB3hwDkrAvnsft3bC0K8x(+#QVm)g&;XVNZ=qF(#cqCY z7?OBE_g68&JsvZOd`29ESfEB^N8{YCy<@j@ghrGL76u6A5#lro5z>1sAc)Wr^C*O( z?MoSnw&V1f^y53*3y02v)j3?ycNq87o6E8E71`<8k*(le9RR3-l{&1#$F+lPt6?^q z=XE8y`~oIMhG=d!nOwow$w{XM-qOk@e44tYB&}@0=c!vr6f8Be3Z^A#xAp!|z6VB* zz#C=pr^zQ;@(fs-dlrAtLKjp;GK+`H-%G6% Z#sgvop)_Z)nL{i+p9OtWMPSbP>`%4LjKTl_ literal 0 HcmV?d00001 From b0131f9e2665cf3f42906182a4fef8c3a0958086 Mon Sep 17 00:00:00 2001 From: justinmbrock <6379307+justinmbrock@users.noreply.github.com> Date: Tue, 9 Feb 2021 15:03:16 -0500 Subject: [PATCH 06/11] Delete __init__.mpy --- boards/pyruler/6.x/__init__.mpy | Bin 441 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 boards/pyruler/6.x/__init__.mpy diff --git a/boards/pyruler/6.x/__init__.mpy b/boards/pyruler/6.x/__init__.mpy deleted file mode 100644 index 29daa942e607fe56408fae27f4a84cccb5fee80f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 441 zcmZ`#!AiqG5Zz5%EQTKHp%G~@wQ02o34$e1M3gEjBIw0Sg>}ttn}s$ByPHZ+#y_eC zJPUqB{Tba_DvCIVVTO6UdGB3hwDkrAvnsft3bC0K8x(+#QVm)g&;XVNZ=qF(#cqCY z7?OBE_g68&JsvZOd`29ESfEB^N8{YCy<@j@ghrGL76u6A5#lro5z>1sAc)Wr^C*O( z?MoSnw&V1f^y53*3y02v)j3?ycNq87o6E8E71`<8k*(le9RR3-l{&1#$F+lPt6?^q z=XE8y`~oIMhG=d!nOwow$w{XM-qOk@e44tYB&}@0=c!vr6f8Be3Z^A#xAp!|z6VB* zz#C=pr^zQ;@(fs-dlrAtLKjp;GK+`H-%G6% Z#sgvop)_Z)nL{i+p9OtWMPSbP>`%4LjKTl_ From 01f3b28bd235fdd553ea48e109b6cead1e91b0de Mon Sep 17 00:00:00 2001 From: justinmbrock <6379307+justinmbrock@users.noreply.github.com> Date: Tue, 9 Feb 2021 15:04:59 -0500 Subject: [PATCH 07/11] Create temp --- boards/pyruler/6.x/lib/temp | 1 + 1 file changed, 1 insertion(+) create mode 100644 boards/pyruler/6.x/lib/temp diff --git a/boards/pyruler/6.x/lib/temp b/boards/pyruler/6.x/lib/temp new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/boards/pyruler/6.x/lib/temp @@ -0,0 +1 @@ + From 0d0faed53b8af3c1c62a0ee15f8ee65b197e505a Mon Sep 17 00:00:00 2001 From: justinmbrock <6379307+justinmbrock@users.noreply.github.com> Date: Tue, 9 Feb 2021 15:05:21 -0500 Subject: [PATCH 08/11] Delete temp --- boards/pyruler/6.x/lib/temp | 1 - 1 file changed, 1 deletion(-) delete mode 100644 boards/pyruler/6.x/lib/temp diff --git a/boards/pyruler/6.x/lib/temp b/boards/pyruler/6.x/lib/temp deleted file mode 100644 index 8b13789..0000000 --- a/boards/pyruler/6.x/lib/temp +++ /dev/null @@ -1 +0,0 @@ - From 07b0a9cc8eaaf81c04de9d382a716bd88f03fb29 Mon Sep 17 00:00:00 2001 From: justinmbrock <6379307+justinmbrock@users.noreply.github.com> Date: Tue, 9 Feb 2021 15:06:46 -0500 Subject: [PATCH 09/11] Create temp --- boards/pyruler/6.x/lib/adafruit_hid/temp | 1 + 1 file changed, 1 insertion(+) create mode 100644 boards/pyruler/6.x/lib/adafruit_hid/temp diff --git a/boards/pyruler/6.x/lib/adafruit_hid/temp b/boards/pyruler/6.x/lib/adafruit_hid/temp new file mode 100644 index 0000000..8b13789 --- /dev/null +++ b/boards/pyruler/6.x/lib/adafruit_hid/temp @@ -0,0 +1 @@ + From 88b70cdebeb954e8cae050f7b02ca0e27738ec0e Mon Sep 17 00:00:00 2001 From: justinmbrock <6379307+justinmbrock@users.noreply.github.com> Date: Tue, 9 Feb 2021 15:07:05 -0500 Subject: [PATCH 10/11] Add files via upload --- boards/pyruler/6.x/lib/adafruit_hid/__init__.mpy | Bin 0 -> 441 bytes .../6.x/lib/adafruit_hid/consumer_control.mpy | Bin 0 -> 1041 bytes .../lib/adafruit_hid/consumer_control_code.mpy | Bin 0 -> 482 bytes boards/pyruler/6.x/lib/adafruit_hid/gamepad.mpy | Bin 0 -> 2561 bytes boards/pyruler/6.x/lib/adafruit_hid/keyboard.mpy | Bin 0 -> 1957 bytes .../6.x/lib/adafruit_hid/keyboard_layout_us.mpy | Bin 0 -> 1305 bytes boards/pyruler/6.x/lib/adafruit_hid/keycode.mpy | Bin 0 -> 2176 bytes boards/pyruler/6.x/lib/adafruit_hid/mouse.mpy | Bin 0 -> 1605 bytes 8 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 boards/pyruler/6.x/lib/adafruit_hid/__init__.mpy create mode 100644 boards/pyruler/6.x/lib/adafruit_hid/consumer_control.mpy create mode 100644 boards/pyruler/6.x/lib/adafruit_hid/consumer_control_code.mpy create mode 100644 boards/pyruler/6.x/lib/adafruit_hid/gamepad.mpy create mode 100644 boards/pyruler/6.x/lib/adafruit_hid/keyboard.mpy create mode 100644 boards/pyruler/6.x/lib/adafruit_hid/keyboard_layout_us.mpy create mode 100644 boards/pyruler/6.x/lib/adafruit_hid/keycode.mpy create mode 100644 boards/pyruler/6.x/lib/adafruit_hid/mouse.mpy diff --git a/boards/pyruler/6.x/lib/adafruit_hid/__init__.mpy b/boards/pyruler/6.x/lib/adafruit_hid/__init__.mpy new file mode 100644 index 0000000000000000000000000000000000000000..29daa942e607fe56408fae27f4a84cccb5fee80f GIT binary patch literal 441 zcmZ`#!AiqG5Zz5%EQTKHp%G~@wQ02o34$e1M3gEjBIw0Sg>}ttn}s$ByPHZ+#y_eC zJPUqB{Tba_DvCIVVTO6UdGB3hwDkrAvnsft3bC0K8x(+#QVm)g&;XVNZ=qF(#cqCY z7?OBE_g68&JsvZOd`29ESfEB^N8{YCy<@j@ghrGL76u6A5#lro5z>1sAc)Wr^C*O( z?MoSnw&V1f^y53*3y02v)j3?ycNq87o6E8E71`<8k*(le9RR3-l{&1#$F+lPt6?^q z=XE8y`~oIMhG=d!nOwow$w{XM-qOk@e44tYB&}@0=c!vr6f8Be3Z^A#xAp!|z6VB* zz#C=pr^zQ;@(fs-dlrAtLKjp;GK+`H-%G6% Z#sgvop)_Z)nL{i+p9OtWMPSbP>`%4LjKTl_ literal 0 HcmV?d00001 diff --git a/boards/pyruler/6.x/lib/adafruit_hid/consumer_control.mpy b/boards/pyruler/6.x/lib/adafruit_hid/consumer_control.mpy new file mode 100644 index 0000000000000000000000000000000000000000..ff510dceb3d45625c010d866136dd1e53b2ab1b5 GIT binary patch literal 1041 zcma))&2G~`5XWcIv`If`i9o4nldwtMB%+W8OI0rwA1al~0a2;qRHTiG*Ti6Z&8}UD z5RwDs29JW2J`G2XyhJ5f+esCLL$TzUSzJVQSPw4;gM$3 z2lx{edNtH)xL(8Z29`C9s$YKY7NYeItU~1ntk=Lo6JMg*xQW_k?CYr2aZqgF5%v)5 z25Jq|Ne7EfG&5Qg3n%$Kmz$x(9uUJcED_oP?b+sbmwPgFnV>2N1b13~e@6D@_+7SL z-(fEE0wb`wmpf%bD!=&D^|=TRgy3S%;=(n8Jf)uDGD_!UAi{1ia@oLkSz;C~+cT-j zPVFv($;D*6vOlUv`M8|vHKNo%wm%VD5|0N&hJIWJGl}hyeOq)D)=@v`agXS&4}=Ti z@b^q?VIuZY6RY_B)}yaCmC8y*tqMvXtqvW~)}Vvh1r$!EZ@f~jOYj9sQ;8{^{>c)h z??S^#1yToWPsvZSl6fX%tUN*nps=P!VNmLHB5#c1YANIq++DHPTCUtZd^zeIBO|b})LZ24H;cl|+*bSqP=^ zno(bw*(AIkPf9v6X)otr^#f)IVf1rUu(%xwSMK?7G9F3qXQjiKpYnooj+ILf%i}!6 z@XHr5d^=jvTdkOU6Dz-=cpr!57Dne*Rv(tPu%ahxg%-7wL?gBXWhZlmljNQ&DMtf3 n?;G8>sv!Z->>Z8?{()SKTQ$NPZ<_Z1bqG@YYnLK+xyk+le11or literal 0 HcmV?d00001 diff --git a/boards/pyruler/6.x/lib/adafruit_hid/consumer_control_code.mpy b/boards/pyruler/6.x/lib/adafruit_hid/consumer_control_code.mpy new file mode 100644 index 0000000000000000000000000000000000000000..b6fc457ae0220da0543a11e6c4a742bdb31aff26 GIT binary patch literal 482 zcma)&TTj9;6o6Ymvmizd#1|hJvk)}~B3|&pm@HjMP%lFmv!3uEjYUGij3)dVzXnneN%uTxD=+ayg$*hegz>v DO4NtP literal 0 HcmV?d00001 diff --git a/boards/pyruler/6.x/lib/adafruit_hid/gamepad.mpy b/boards/pyruler/6.x/lib/adafruit_hid/gamepad.mpy new file mode 100644 index 0000000000000000000000000000000000000000..54f4a2502644a1cbc210898a73343fb047e8e416 GIT binary patch literal 2561 zcmcImTTdHD6rKaVVgq$RhJtYxSWFTE*ydtxZ36@)sniCk7geRw?81)0WPR!Gn#8=Y zu0o|st<;A;^;eiAzaT%MeT%BLYAf}zQvX1DW-k~!*(QDHSUZ<90M ze(;vPkJ}Qc`7FpI6EF(jTr$I_lT5OHH@;4shQI1Rl<)+@V?-R~AjK4sh&V(f5a&Va z5SKyf6jwm zXesTY)aHaz_diieKd;KFJ&y|uCFF^AS2U*Ubhm04<&xg3F_p1KP^>@yG(0Y zG}v6^?#eAyM!M>;5ReW+hKEoq^@JqpX7Err6eh4RVf@2uNP9wrv-nli%QZMv9zr8^ z1riU*mkRc#&U@FvY^0`nHN&e}UZr`Jfp;RLk<3D#WN$89Hq!}}{E~~C*~B;`=b)a4 ztTVf{0OmSM&*jm}BNvs_Rn_HvMk`qPt!^)MH0o$DyjwGvtZ8yBNHta|Yev%&rK+qO zj=9IBpK^X#fIEObu$!9Q9EU8UMvt353Eur+OVi4lC4RrIGFE9$65`XDnh)CHps#cj z079bkDDwKIkXk}=&u(qLNuD;+BhyfCBy;d65B0zQ`gIPuT=?UpkzC@u#dcaX<;6_f z8N9^Nw#=55gLT!xxXdx$5mL)G#-SH6{_vXx^7kglcB%i5Fa=C;NM&S&!@PTA0#TyY zrs15hmxbAD;%VU{6|j63S>-SKNVtkGY9#03Y;d2TZkO#2`lls=yc#6>)jQ zH{eqK3m#O>K=nF!TcrGZQm`=wWc9vW(;a83QG)3e`j$Ar6Y0*Dh-E+hJ~}fo2FX83 zd=nZYQiCz+U;E|ZeILPXKhKH?hfs_H^Q$gC%w9B+_q%{hb)J>S^O5@ zv7O_beV64SS8t@}pDp{%Z=Wr6m~+|1u$j0|20($&pt0kX=DdjL`k3E+R@Md*aIWd` z4ePoV?CVn~R&_%tlmtyK?K2@G7-b=|IOhOc=fJ*S~jIT1K_ literal 0 HcmV?d00001 diff --git a/boards/pyruler/6.x/lib/adafruit_hid/keyboard.mpy b/boards/pyruler/6.x/lib/adafruit_hid/keyboard.mpy new file mode 100644 index 0000000000000000000000000000000000000000..6fe3aceda112f8b8b7c8dc867ff1dbbeb6fba1f7 GIT binary patch literal 1957 zcmcJPTW=ai6vyY_3j}Cw9!xA7%ODG%Xcu4kEZe&>JA7gMp- zTT@8<=Buaxy2Rq|?C-ZfLFjLmX{>>~1}uAu_M!1BGEb3wij;m<2EM-lrVO$Sd|woM zKxPr-A}ErEvSl!0av3s*i4R-0(P@&87Ij0f(~jxlhG|^6L%K({PL0iWciJ^u#2aR6 zw&l2~mRX~AyX!V=%RlkQ_#WxjY=gx4x85A?gE>_hJo++WUy;vO4>Gcm-*bXPssSDPVH83hvNNo0#FR0g(aT({<5Yy-^Zy$ zr3(k^Jnmc(M%fMMXD`8h;~or4>yW#L9vFOe8FE)(xN;c`VEwORg<)y)-;-}M-bn>M zPN89b3+hO@s;;t1u8DrDW|@*(gS-O$Iw-;IH5J&W99tM_B(}*!COeLPOmLeIGv0Du z#OS3q(7?H)u1j=E_3o?>BiZ6CX!pbkH|<7$j$4mp|ok9Pj-DNJ1)-?7Klb8O_< zl|z%KJtcP+osSuCi#M(aMMVY^cI0$eKlsRWU#uw}>tqG}?>c!?Z+3`RP!Lp3(8`>R z1KKsMW68B8uLDZFgo)%fbW3u~ZzNHdlI}{jRU?}>eS~wn0^xTYq3tPp65iYx-Y-u% jy#l9~9TVd8;*1+`l0sY@;qN_Ohp*D}n_&~Sj{w3y%dB}Q literal 0 HcmV?d00001 diff --git a/boards/pyruler/6.x/lib/adafruit_hid/keyboard_layout_us.mpy b/boards/pyruler/6.x/lib/adafruit_hid/keyboard_layout_us.mpy new file mode 100644 index 0000000000000000000000000000000000000000..89f085645635af1e96f7743ff5600b8d981bfc0f GIT binary patch literal 1305 zcmbtT$xjne7=N!Vw6q{C0%d7o+76|aQYwly#uyP<8W5U*CZ;B@4`wQjLkDMC2`8t< zy5qj@E1uLYZizRzc;=)>O}z3i;LLQ2)m})P!+gto?|Z-B?|t6^wW`&p2GUpQ2R4Wa zK|2e;TC&~&gK*joqYg+qU^fv4^(3TJBneF+-R>EdN-*>uJEm}iOGM*nI!bjNqvt1C z%u$HJ^K2rH61;bIUOPQap&(q=m#Z4x-r32KvoY=dS%I$;=+O(3iy-7u^seK4#cJtFdw;u~O~Lnwx4 zXoU0#<#{7iQl}E3;|a_t8^?zN0~2Uqq<7HRJKh%vpouXw+<&-lY=6I4EgBOALuGSZ zG*0UjS$HFwn#LT8vq;H6&16!hE&aB1xYm8eaZA?o`2Evo&tGm|eEsU}j!ys1_Lf${ zW_OTn&fK<--cO&OoKBrNd+z*&i5L8lGk%5@|Wc2D!Y+Ek0~ACm5VVZkMk^x@53#A6QDacwjaHmvd=r8(j4_2(q*C zb2)8w!In;FaX_mVMqsxR=L&8YjDYT*FDFf*yviHESfaoF&m$JO>(I+)IhyAS-CZVc z{%3JLG;lOSW1dEsVH63<`8XGi9o`@0++IR-bNu$R1Q~G zgQ`$A2t!hJX`uN3B=-$76o!55IB`hQmKja^!NU;3OS(h$g*A$OWeeMqBFS+UisHl$2_yta(w44) zvhPdScj&&t-{DVmrhkAQOI9GA@S)b6NAEpX=j!U7b0ud&!L@5cfzq$0Gq8^G^$U?e z;6?pN;Ozz~1kpgNha+33XA1LE#qICp3;FRw^OJMV#AIR9zT)ArnL=^nfx}fPPx|Ko zooooYV;&7P&^kI_x3C)Z|NH1!IihiCBwuZ)|Ig90q32akWBt<6<0_Ay*Vq2p^RCR5 zu35?VGI}KNBH9qZy3%r@F>nm)={P_quz^mZkxt=VI*s?}4Bn@+_<+vgLpqO-=mI{b zi`Yn)u!%0CiLRiTuA+q&(Ms3QM%U3!H_$;h(Mh+^MYqvScd(i6Vhi2FR=SUE^Z?uG zA$HIs^w49-^aQ>1J!13&;`Ac~{RD-6MuMUVLXv)gO1~mSzadS(BSX;)L8m`p(4Xj| zzhIKo1dF6**d(d}#;E=QxBP4A@ zo}}#_&`V@}{aa}pPrdvTGu50{uz zxXhf!73O|iCF#fr7Ad+&xW+n<>lD3CxWRf9Hz|6PaEqe12)EfYhC39!L%2)PyM%i# z@3X&v2h1WKGRN_Vxd)FadNwc;C=j0Tw)S`H>vna-arWn@i;lC(al99RYg{V;U ztXZL`{UT(k17S<_3oR_vMAEL%R83S22~!UX%@(G|N>kWbQ>zqKOg2PyuN+HRh8*J& z<=%*^dS!D-gk4WKqiR{JQuJlzv{joHitY5894PEMvveoF<&Bn>tz_8Hvs%2`5*an7 zr*$pdm(^`in=s{m;mENVPbeJIGa0$k5T>ff>lEG0$!6TKO3~FkHOoosu~blL4k|4{ zr8TIu1(o)o(h*cTgGyIW=?*E)O>E6Gy%8(Pn$r_b$kruWH37)3wit9P8#(NyuH1*sn_c=XT>T_Hf$r_$`BP9k6IqqoL zOlhK0xw-5)-Yh$1iENfJio!)9&Nma35kzv;n@iLLNmqbWT+a;^ijnZ^H zeac*L!P|JIH za(uFQ$QhlS3s74)5a4fh%@h7kUtZr+&maG%YZmEQQ`__I$imY#kLh`PaG|xOGqP~x i8NZnR`FnU_c-a`Qdw(ojqL*_C1VUp|vsLAP5B~y{x)&_~ literal 0 HcmV?d00001 diff --git a/boards/pyruler/6.x/lib/adafruit_hid/mouse.mpy b/boards/pyruler/6.x/lib/adafruit_hid/mouse.mpy new file mode 100644 index 0000000000000000000000000000000000000000..6289bd4697bdcf041d3f88a41d86869d8d0cdea3 GIT binary patch literal 1605 zcmbVLNmCO+80{}B5MmicN-@Ncv`mU<#7Lx|Tu{NK3S9BTp=Zo=%;-!KXC?@z%pf^f zmIu$CJb6t(xx4-V&z4#qIQkc~XNe|MJm{pVznYkoB(q$3D=w_b*ugb4CQJ!zzYh1fK4m!EyGRsqe2x>b-QP zzURqkJ;-PtOdvdBF~XzB#D`%GkHR|UfJb-;@qovH_uwq>UVH+0AD#fiFs^&|3x1pf zK7ccDuow8C2zZ*waiF_v=^>;fD3p*sLLAYAIQ#nvc~BK(XEiiGcX5%NzrDD4?P~wc zE0->}Ucw7kW@qQ;+$DCJRASvC{)$R9EvQnN3K|W$l?bxz&&yK&zE3GH(=gE}YhS6% zke6w{rVF~1SEybrivc1_iln2SLJuGhLVJgpiRKW`Ykd4(Jh?c=dK67Ub1==EJOXRt zIy6SdAi9p$MK(JMXG5qF%Rm8TXLE;)@u-ZxP7WH`XaZu#z$`%4U7gE;agI6OBHq1A z?RNH6HQ_EL6*lrny|b!QK~;s-fJ!T6Rqs?8ymo6&Rm-X!AHOD3TIt+? zkWZs>A?Sok;{wRi-#^acVrGqSnh9?V9|hz1Nb}nS=c-^H+YRr|zAKRy&Yh~RmrGj8 z#mQPY7xz98?uoOOQQIFL-GQt5O$gE0fj-7*@nX$#}M zRW}Oo!K#}D`1oqTto^W*n%wKwbdB3;O&@WM;W3Dv25SqW+I+SBX5;nt+s&=*cTMB- z$(OYaHomBBvhjH>vSi<(?)=^Bv!gh9bkp!V6z$;+*%z{7pDP|#VAcPyNU1#K*cZ-N z>L15B?ze#^XZyJ3l$~-SOPxXg3-b=}e-NC(zRPrjq3ezk~n*Ixy Date: Tue, 9 Feb 2021 15:07:19 -0500 Subject: [PATCH 11/11] Delete temp --- boards/pyruler/6.x/lib/adafruit_hid/temp | 1 - 1 file changed, 1 deletion(-) delete mode 100644 boards/pyruler/6.x/lib/adafruit_hid/temp diff --git a/boards/pyruler/6.x/lib/adafruit_hid/temp b/boards/pyruler/6.x/lib/adafruit_hid/temp deleted file mode 100644 index 8b13789..0000000 --- a/boards/pyruler/6.x/lib/adafruit_hid/temp +++ /dev/null @@ -1 +0,0 @@ -