Skip to content

Commit

Permalink
Start Svalboard-specific firmware features documentation (#56)
Browse files Browse the repository at this point in the history
* Start Svalboard-specific firmware feature documentation

* Write automouse allowed keycodes as text, minor text changes
  • Loading branch information
vnegnev authored Jun 24, 2024
1 parent a680030 commit f2ad4ce
Show file tree
Hide file tree
Showing 3 changed files with 70 additions and 2 deletions.
65 changes: 65 additions & 0 deletions keyboards/svalboard/docs/firmware_features.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Svalboard firmware features

This page describes the custom keycodes, layers and other functions of the Svalboard fork of vial-qmk.

*Note:* The firmware is rapidly changing and many features have not been thoroughly tested in combination with each other. If you see unexpected behavior, please open an issue on Github or post in the `svalboard` Discord.

## Quickstart
Once you have installed Vial and connected your Svalboard, you can open a list of user keybindings in the bottom panel:

![User keys](./user_keys.png)

Hover over each keybinding to see a brief description. To map it to a Svalboard key, select a layer (0 - 15), click a physical key, then click the keybinding.

## Automouse mode
If you move your pointing device the Svalboard will switch to Layer 15 by default. The indicator LEDs will turn magenta, and some of the keys act as mouse buttons.

You can exit this mode by hitting any key not mapped to a mouse button or pointing device feature.

*Note:* Many of the keybindings will not work on the automouse layer, due to the way the key events are processed. A keycode must be in the following set to not exit the automouse layer (as of commit 226e1200cf826ff17ee65899a6ad0e3d3b751ee1):

```c
switch (keycode) {
case KC_BTN1:
case KC_BTN2:
case KC_BTN3:
case KC_BTN4:
case KC_BTN5:
case KC_WH_U:
case KC_WH_D:
case KC_WH_R:
case KC_WH_L:
case KC_LSFT:
case KC_RSFT:
case KC_LCTL:
case KC_RCTL:
case KC_LALT:
case KC_RALT:
case KC_LGUI:
case KC_RGUI:
case SV_SNIPER_2:
case SV_SNIPER_3:
case SV_SNIPER_5:
case SV_RECALIBRATE_POINTER:
break;
```
This can easily be changed by modifying the `switch` statement visible above in `process_record_kb()` in [keymap_support.c](../keymaps/keymap_support.c). Ask on the Discord for more info.
### Auto-exit timer
[TODO]
### Trackpoint recalibration
If your mouse pointer begins to drift, try recalibrating the zero by hitting 'down' on one of the pinkies, which by default will activate `SV_RECALIBRATE_POINTER`.
### Activation threshold
[TODO]
## Sniper mode
[TODO]
## Scroll-mode lock
[TODO]
## Pointer DPI adjustment
[TODO]
Binary file added keyboards/svalboard/docs/user_keys.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
7 changes: 5 additions & 2 deletions keyboards/svalboard/readme.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
Svalboard - Datahand Forever!

Keyboard Maintainer: [morganvenable](https://github.com/svalboard/vial-qmk) [@_claussen] on discord
Hardware Supported: RP2040, Svalboard Alpha
Hardware Supported: RP2040, Svalboard Alpha, Svalboard Lightly
Hardware Availability: [Store](https://www.svalboard.com)

Build example for this keyboard (after setting up your build environment):
Expand Down Expand Up @@ -44,4 +44,7 @@ qmk flash --keyboard svalboard --keymap default -bl uf2-split-right
See the [build environment setup](https://docs.qmk.fm/#/getting_started_build_tools) and the [make instructions](https://docs.qmk.fm/#/getting_started_make_guide) for more information. Brand new to QMK? Start with our [Complete Newbs Guide](https://docs.qmk.fm/#/newbs).

## Bootloader
To enter bootloader mode, simply double tap reset in 500ms or less. The device will come up as a mass storage device titled RPI-RP2. Drag the desired UF2 file to the drive and it will immediately reboot and enumerate as Svalboard.
To enter bootloader mode, simply double tap reset in 500ms or less. The device will come up as a mass storage device titled RPI-RP2. Drag the desired UF2 file to the drive and it will immediately reboot and enumerate as Svalboard.

## Svalboard-specific firmware features
See [Svalboard firmware features](docs/firmware_features.md) pages for information.

0 comments on commit f2ad4ce

Please sign in to comment.