# Welcome to the Mostly Harmless vckyb6 ## Introduction `vckyb6` is a small macro pad that offers quick access to common keyboard shortcuts that might be useful during video conferences and meetings. ![The vckyb6 Keyboard](vckyb6.png) ## Why? Keyboard shortcuts are good ways of quickly doing something - as compared to using the mouse to click around the screen. Most video conferencing applications have built-in keyboard shortcuts to aid activities such as mute/un-mute or toggling the video or raising the hand and so on. Most of these keyboard shortcuts, unfortunately, require the use of single or multiple keys (eg. `CTRL + D` or `CTRL + ALT + C`). These can not only be difficult to remember but also tough for children to use or use with one-hand. ## Enter: Custom Keyboards A custom programmable keyboard can send complex keystrokes or key sequences or even macros to the computer on the click of a single button. This means that one need not remember complex keyboard shortcuts and can instead just press a button to do the job. The custom keyboard can be even have multiple layers of shortcuts so that it can be used in a similar manner with multiple video conferencing tools. # Compiling and Flashing the keymap 1. Close the `qmk_firmware` repository from: You can also use this mirror on sovran.dev: 2. Pull in the `qmk_firmware` submodules: ``` cd qmk_firmware/ make git-submodule ``` 3. Install the `qmk` command-line interface: ``` apt-get install python3 python3-pip pip3 install qmk ``` 4. Setup `qmk dependencies`: ``` cd qmk_firmware/ qmk setup ``` Running `qmk setup` should install the necessary tools required to compile and flash the keyboard firmware. On Debian, this will do the equivalent of: ``` apt-get install build-essential avr-gcc arm-none-eabi-gcc avrdude dfu-util dfu-programmer ``` Now you should be able to compile your firmware. 5. Clone [this repository](https://sovran.dev/mh/vckyb6) into `keyboards/mh/`: ``` cd qmk_firmware/ mkdir keyboards/mh/ cd keyboards/mh/ git clone https://sovran.dev/mh/vckyb6/ ``` 6. Now compile the firmware: ``` make mh/vckyb6:default ``` 7. Reset your keyboard and put it into programming mode and then flash the firmware: ``` make mh/vckyb6:default:flash ``` ## USB Messages: You should see messages similar to these when you plugin the keyboard. Run `sudo dmesg` to check: ``` usb 1-3.2: new full-speed USB device number 18 using xhci_hcd usb 1-3.2: New USB device found, idVendor=beef, idProduct=0008, bcdDevice= 0.01 usb 1-3.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0 usb 1-3.2: Product: vckb6 usb 1-3.2: Manufacturer: Mostly Harmless input: Mostly Harmless vckb6 as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.2/1-3.2:1.0/0003:BEEF:0008.0078/input/input232 hid-generic 0003:BEEF:0008.0078: input,hidraw5: USB HID v1.11 Keyboard [Mostly Harmless vckb6] on usb-0000:00:14.0-3.2/input0 input: Mostly Harmless vckb6 Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.2/1-3.2:1.1/0003:BEEF:0008.0079/input/input233 input: Mostly Harmless vckb6 System Control as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.2/1-3.2:1.1/0003:BEEF:0008.0079/input/input234 input: Mostly Harmless vckb6 Consumer Control as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.2/1-3.2:1.1/0003:BEEF:0008.0079/input/input235 input: Mostly Harmless vckb6 Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3.2/1-3.2:1.1/0003:BEEF:0008.0079/input/input236 hid-generic 0003:BEEF:0008.0079: input,hidraw7: USB HID v1.11 Mouse [Mostly Harmless vckb6] on usb-0000:00:14.0-3.2/input1 ``` ## Credits The repository and code is inspired by and build upon the excellent [qmk_firmware project](https://qmk.fm).