diff --git a/.codespellignorewords b/.codespellignorewords new file mode 100644 index 00000000000..c9cd98552b1 --- /dev/null +++ b/.codespellignorewords @@ -0,0 +1,14 @@ +# Kurtis Lew is a contributor +Lew + +# shield name +blok + +# Kconfig keyword +rsource + +# clock source +hsi + +# shorter alias for SHIFT in comments +SHFT \ No newline at end of file diff --git a/.codespellrc b/.codespellrc new file mode 100644 index 00000000000..ade0a4d45c0 --- /dev/null +++ b/.codespellrc @@ -0,0 +1,4 @@ +[codespell] +skip = docs/package-lock.json,*.svg +ignore-words = .codespellignorewords +uri-ignore-words-list = * diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 1c6d560cef3..46740c89b6b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -32,3 +32,7 @@ repos: - id: check-added-large-files - id: check-shebang-scripts-are-executable exclude: "\\.mustache$" + - repo: https://github.com/codespell-project/codespell + rev: v2.3.0 + hooks: + - id: codespell diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 2f8c597b816..0a20a213f32 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -5,7 +5,7 @@ We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender -identity and expression, level of experience, education, socio-economic status, +identity and expression, level of experience, education, socioeconomic status, nationality, personal appearance, race, religion, or sexual identity and orientation. diff --git a/app/Kconfig.behaviors b/app/Kconfig.behaviors index 69419a2f17e..318c0b05c4a 100644 --- a/app/Kconfig.behaviors +++ b/app/Kconfig.behaviors @@ -25,7 +25,7 @@ config ZMK_BEHAVIOR_LOCAL_ID_TYPE_SETTINGS_TABLE help Use persistent entries in the settings subsystem to identify behaviors by local ID, which uses the device name to generate - a new settings entry tying a presistant local ID to that name. + a new settings entry tying a persistent local ID to that name. This guarantees stable, colllision-free local IDs at the expense of settings storage used. diff --git a/app/boards/arm/planck/planck_rev6.dts b/app/boards/arm/planck/planck_rev6.dts index 2f34571fab6..2cab9315e26 100644 --- a/app/boards/arm/planck/planck_rev6.dts +++ b/app/boards/arm/planck/planck_rev6.dts @@ -15,7 +15,7 @@ / { - model = "Plack PCD, rev6"; + model = "Planck PCB, rev6"; compatible = "planck,rev6", "st,stm32f303"; chosen { diff --git a/app/boards/shields/clueboard_california/Kconfig.defconfig b/app/boards/shields/clueboard_california/Kconfig.defconfig index 278aaa4472c..0d79b84b3d2 100644 --- a/app/boards/shields/clueboard_california/Kconfig.defconfig +++ b/app/boards/shields/clueboard_california/Kconfig.defconfig @@ -6,7 +6,7 @@ config ZMK_KEYBOARD_NAME # Unable to use interrupts as the same pin number is used # across A & B controllers, and STM32F303CCT6 can't enable -# interrutps for multiple controllers for the same "line" +# interrupts for multiple controllers for the same "line" # for the external interrupts. config ZMK_KSCAN_DIRECT_POLLING default y diff --git a/app/boards/shields/leeloo/leeloo_rev2.conf b/app/boards/shields/leeloo/leeloo_rev2.conf index 8c1cf3eed7b..5d13beb268e 100644 --- a/app/boards/shields/leeloo/leeloo_rev2.conf +++ b/app/boards/shields/leeloo/leeloo_rev2.conf @@ -26,7 +26,7 @@ # CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=y # When USB is disconnected, turn off LEDs -# Change to n if you wish to keep LEDs on even when USB is unpluged. +# Change to n if you wish to keep LEDs on even when USB is unplugged. # CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_USB=y # Start LEDs off at 75% diff --git a/app/boards/shields/leeloo_micro/leeloo_micro.conf b/app/boards/shields/leeloo_micro/leeloo_micro.conf index 02c1d60587b..10787b52088 100644 --- a/app/boards/shields/leeloo_micro/leeloo_micro.conf +++ b/app/boards/shields/leeloo_micro/leeloo_micro.conf @@ -26,7 +26,7 @@ # CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_IDLE=y # When USB is disconnected, turn off LEDs -# Change to n if you wish to keep LEDs on even when USB is unpluged. +# Change to n if you wish to keep LEDs on even when USB is unplugged. # CONFIG_ZMK_RGB_UNDERGLOW_AUTO_OFF_USB=y # Start LEDs off at 75% diff --git a/app/include/drivers/behavior.h b/app/include/drivers/behavior.h index 56c26a0155c..22fb09db1e7 100644 --- a/app/include/drivers/behavior.h +++ b/app/include/drivers/behavior.h @@ -188,7 +188,7 @@ struct zmk_behavior_local_id_map { * @param binding The behavior binding to validate. * * @retval 0 if the passed in binding is valid. - * @retval -ENODEV if the binding references a non-existant behavior. + * @retval -ENODEV if the binding references a non-existent behavior. * @retval -EINVAL if parameters are not valid for the behavior metadata. */ int zmk_behavior_validate_binding(const struct zmk_behavior_binding *binding); diff --git a/app/module/drivers/display/il0323.c b/app/module/drivers/display/il0323.c index c9d72fc529b..dc52fafa63d 100644 --- a/app/module/drivers/display/il0323.c +++ b/app/module/drivers/display/il0323.c @@ -289,7 +289,7 @@ static int il0323_controller_init(const struct device *dev) { k_msleep(IL0323_PON_DELAY); il0323_busy_wait(cfg); - /* Pannel settings, KW mode */ + /* Panel settings, KW mode */ tmp[0] = IL0323_PSR_UD | IL0323_PSR_SHL | IL0323_PSR_SHD | IL0323_PSR_RST; #if EPD_PANEL_WIDTH == 80 diff --git a/app/src/behaviors/behavior_macro.c b/app/src/behaviors/behavior_macro.c index c16fb69a9e9..03a01327511 100644 --- a/app/src/behaviors/behavior_macro.c +++ b/app/src/behaviors/behavior_macro.c @@ -129,7 +129,7 @@ static int behavior_macro_init(const struct device *dev) { LOG_DBG("Release will resume at %d", state->release_state.start_index); break; } else { - // Ignore regular invokable bindings + // Ignore regular invocable bindings } } diff --git a/docs/blog/2023-04-06-zephyr-3-2.md b/docs/blog/2023-04-06-zephyr-3-2.md index a7d72402326..ffea70bf0cb 100644 --- a/docs/blog/2023-04-06-zephyr-3-2.md +++ b/docs/blog/2023-04-06-zephyr-3-2.md @@ -278,7 +278,7 @@ The following RP2040 powered controllers have board definitions for folks to tes - Raspberry Pi Pico (`rpi_pico`) - SparkFun Pro Micro RP2040 (`sparkfun_pro_micro_rp2040`) -- Adafruit Keyboar/KB2040 (`adafruit_kb2040`) +- Adafruit Kee Boar Driver/KB2040 (`adafruit_kb2040`) - Seeeduino XIAO RP2040 (`seeeduino_xiao_rp2040`) - Adafruit Qt PY RP2040 (`adafruit_qt_py_rp2040`) - BoardSource blok (`boardsource_blok`) diff --git a/docs/docs/development/hardware-integration/hardware-metadata-files.md b/docs/docs/development/hardware-integration/hardware-metadata-files.md index 13f51b55d0b..3a921a56c2e 100644 --- a/docs/docs/development/hardware-integration/hardware-metadata-files.md +++ b/docs/docs/development/hardware-integration/hardware-metadata-files.md @@ -75,7 +75,7 @@ url: https://github.com/foostan/crkbd/ ### Interconnect Requires/Exposes -For boards and shields, one of the key pieces of high level information is compatibility between the two items. In particular, a board usually exposes one ore more "interconnects", the physical location/type of connections available, and their assigned possible uses (e.g. GPIO, power, ground, i2c, etc). Similarly, a shield is usually designed around one (or sometimes more) "interconnects" that allow it to connect to one of those boards. +For boards and shields, one of the key pieces of high level information is compatibility between the two items. In particular, a board usually exposes one or more "interconnects", the physical location/type of connections available, and their assigned possible uses (e.g. GPIO, power, ground, i2c, etc). Similarly, a shield is usually designed around one (or sometimes more) "interconnects" that allow it to connect to one of those boards. In ZMK, we encode both of those scenarios with the `exposes` and `requires` properties, respectively. For example, for a Corne shield that requires a Pro Micro compatible controller to function, and simultaneously exposes a four pin header to be used by standard i2c OLED modules, the metadata file contains: diff --git a/docs/docs/development/hardware-integration/physical-layouts.md b/docs/docs/development/hardware-integration/physical-layouts.md index 06acaf8422b..fba17f69897 100644 --- a/docs/docs/development/hardware-integration/physical-layouts.md +++ b/docs/docs/development/hardware-integration/physical-layouts.md @@ -391,7 +391,7 @@ A non-`complete` position map can be used to assign mappings to only these parti }; ``` -This is noticably simpler to write, and can be a useful way of saving flash space for memory-constrained devices. +This is noticeably simpler to write, and can be a useful way of saving flash space for memory-constrained devices. #### Additional example: corne diff --git a/docs/docs/development/local-toolchain/setup/container.mdx b/docs/docs/development/local-toolchain/setup/container.mdx index b1fc0a4e3fc..d0ec71346a1 100644 --- a/docs/docs/development/local-toolchain/setup/container.mdx +++ b/docs/docs/development/local-toolchain/setup/container.mdx @@ -234,8 +234,8 @@ created and mounted. Accordingly, you first have to remove the old ones. --security-opt label=disable \ --workdir /workspaces/zmk \ -v /path/to/zmk:/workspaces/zmk \ - -v /path/to/zmk-config:/workspaces/zmk-config \ # Removeable - -v /path/to/zmk-modules:/workspaces/zmk-modules \ # Removeable + -v /path/to/zmk-config:/workspaces/zmk-config \ # Removable + -v /path/to/zmk-modules:/workspaces/zmk-modules \ # Removable -p 3000:3000 \ /bin/bash ``` diff --git a/docs/docs/development/studio-rpc-protocol.md b/docs/docs/development/studio-rpc-protocol.md index 8dba4a7dc82..f9109308747 100644 --- a/docs/docs/development/studio-rpc-protocol.md +++ b/docs/docs/development/studio-rpc-protocol.md @@ -78,7 +78,7 @@ block-beta ### Example Encoding (Escaping) -When the message content includes any of the special bytes, those bytes are escaped whe framed +When the message content includes any of the special bytes, those bytes are escaped when framed ```mermaid block-beta diff --git a/docs/docs/keymaps/behaviors/sticky-key.md b/docs/docs/keymaps/behaviors/sticky-key.md index cace1a6da03..3c09e1e4755 100644 --- a/docs/docs/keymaps/behaviors/sticky-key.md +++ b/docs/docs/keymaps/behaviors/sticky-key.md @@ -38,7 +38,7 @@ Some typists may find that using a sticky shift key interspersed with rapid typi By default, sticky keys are activated on press until another key is pressed. You can enable the `lazy` setting to instead activate the sticky key right _before_ the other key is pressed. This is useful for mouse interaction or situations where you don't want the host to see anything during a sticky-key timeout, for example `&sk LGUI`, which can trigger a menu if pressed alone. -Note that tapping a lazy sticky key will not trigger other behaviors such as the release of other sticky keys or layers. If you want to use a lazy sticky key to activate the release of a sticky layer, potential solutions include wrappping the sticky key in a simple macro which presses the sticky behavior around the sticky key press, doing the same with `&mo LAYER`, or triggering a tap of some key like `K_CANCEL` on sticky key press. +Note that tapping a lazy sticky key will not trigger other behaviors such as the release of other sticky keys or layers. If you want to use a lazy sticky key to activate the release of a sticky layer, potential solutions include wrapping the sticky key in a simple macro which presses the sticky behavior around the sticky key press, doing the same with `&mo LAYER`, or triggering a tap of some key like `K_CANCEL` on sticky key press. #### `ignore-modifiers`