54 lines
1.5 KiB
Markdown
54 lines
1.5 KiB
Markdown
## There is a more detailed explanation in the [circuit python docs](https://docs.circuitpython.org/en/latest/README.html), however there are some common use cases for your keyboard listed here
|
|
|
|
### You can hide your device from showing up as a usb storage
|
|
|
|
```python
|
|
storage.disable_usb_drive()
|
|
```
|
|
|
|
### Make your keyboard work in bios
|
|
|
|
```python
|
|
usb_hid.enable(boot_device=1)
|
|
```
|
|
|
|
### Disable serial comms
|
|
|
|
```python
|
|
# Equivalent to usb_cdc.enable(console=False, data=False)
|
|
usb_cdc.disable()
|
|
```
|
|
|
|
### A fully working example, which disables usb storage, cdc and enables bios mode
|
|
|
|
```python
|
|
import supervisor
|
|
import board
|
|
import digitalio
|
|
import storage
|
|
import usb_cdc
|
|
import usb_hid
|
|
|
|
# This is from the base kmk boot.py
|
|
supervisor.set_next_stack_limit(4096 + 4096)
|
|
|
|
# If this key is held during boot, don't run the code which hides the storage and disables serial
|
|
# To use another key just count its row and column and use those pins
|
|
# You can also use any other pins not already used in the matrix and make a button just for accesing your storage
|
|
col = digitalio.DigitalInOut(board.GP2)
|
|
row = digitalio.DigitalInOut(board.GP13)
|
|
|
|
# TODO: If your diode orientation is ROW2COL, then make row the output and col the input
|
|
col.switch_to_output(value=True)
|
|
row.switch_to_input(pull=digitalio.Pull.DOWN)
|
|
|
|
if not row.value:
|
|
storage.disable_usb_drive()
|
|
# Equivalent to usb_cdc.enable(console=False, data=False)
|
|
usb_cdc.disable()
|
|
usb_hid.enable(boot_device=1)
|
|
|
|
row.deinit()
|
|
col.deinit()
|
|
```
|