Add BlueHand Keyboard macropad
This commit is contained in:
parent
fadb508671
commit
be1d824d1e
10 changed files with 125 additions and 7 deletions
1
.github/workflows/build.yml
vendored
1
.github/workflows/build.yml
vendored
|
@ -25,6 +25,7 @@ jobs:
|
||||||
shield:
|
shield:
|
||||||
- bfo9000_left
|
- bfo9000_left
|
||||||
- bfo9000_right
|
- bfo9000_right
|
||||||
|
- bluehand
|
||||||
- boardsource3x4
|
- boardsource3x4
|
||||||
- corne_left
|
- corne_left
|
||||||
- corne_right
|
- corne_right
|
||||||
|
|
6
app/boards/shields/bluehand/Kconfig.defconfig
Normal file
6
app/boards/shields/bluehand/Kconfig.defconfig
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
if SHIELD_BLUEHAND
|
||||||
|
|
||||||
|
config ZMK_KEYBOARD_NAME
|
||||||
|
default "BlueHand"
|
||||||
|
|
||||||
|
endif
|
8
app/boards/shields/bluehand/Kconfig.shield
Normal file
8
app/boards/shields/bluehand/Kconfig.shield
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
# Copyright (c) 2021 Mike "KemoNine" Crosson
|
||||||
|
# Copyright (c) 2021 jpconstantineau
|
||||||
|
# Copyright (c) 2021 DonPavlov
|
||||||
|
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
config SHIELD_BLUEHAND
|
||||||
|
def_bool $(shields_list_contains,bluehand)
|
12
app/boards/shields/bluehand/README.md
Normal file
12
app/boards/shields/bluehand/README.md
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
# BlueHand
|
||||||
|
|
||||||
|
This directory contains a macropad implementation for `BlueHand` hardware being developed by Pierre Constantineau (jpconstantineau)
|
||||||
|
|
||||||
|
Shop:
|
||||||
|
https://www.tindie.com/products/jpconstantineau/2x4-ble-macropad-for-mechanical-switches/
|
||||||
|
|
||||||
|
Documentation:
|
||||||
|
http://nrf52.jpconstantineau.com/docs/macropad/bluehand/
|
||||||
|
|
||||||
|
|
||||||
|
Layout developed by (DonPavlov)
|
8
app/boards/shields/bluehand/bluehand.conf
Normal file
8
app/boards/shields/bluehand/bluehand.conf
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
# Copyright (c) 2021 Mike "KemoNine" Crosson
|
||||||
|
# Copyright (c) 2021 jpconstantineau
|
||||||
|
# Copyright (c) 2021 DonPavlov
|
||||||
|
# SPDX-License-Identifier: MIT
|
||||||
|
|
||||||
|
# Turn on deep sleep
|
||||||
|
CONFIG_ZMK_SLEEP=y
|
||||||
|
CONFIG_ZMK_IDLE_SLEEP_TIMEOUT=900000
|
37
app/boards/shields/bluehand/bluehand.keymap
Normal file
37
app/boards/shields/bluehand/bluehand.keymap
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2021 DonPavlov
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <behaviors.dtsi>
|
||||||
|
#include <dt-bindings/zmk/keys.h>
|
||||||
|
#include <dt-bindings/zmk/bt.h>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
keymap {
|
||||||
|
compatible = "zmk,keymap";
|
||||||
|
|
||||||
|
default_layer {
|
||||||
|
// -------------------
|
||||||
|
// | F13 | F14 | F15 | LCTRL+ALT+A |
|
||||||
|
// | MO(1) | F16 | F17 | F18 |
|
||||||
|
// ----------------------
|
||||||
|
bindings = <
|
||||||
|
&kp F13 &kp F14 &kp F15 &kp LC(LA(A))
|
||||||
|
&mo 1 &kp F16 &kp F17 &kp F18
|
||||||
|
>;
|
||||||
|
};
|
||||||
|
|
||||||
|
nav_layer {
|
||||||
|
// -----------------------
|
||||||
|
// | F19 | F20 | F21 | F22 |
|
||||||
|
// | - | F23 | F24 | - |
|
||||||
|
// -----------------------
|
||||||
|
bindings = <
|
||||||
|
&kp F19 &kp F20 &kp F21 &kp F22
|
||||||
|
&trans &kp F23 &kp F24 &trans
|
||||||
|
>;
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
44
app/boards/shields/bluehand/bluehand.overlay
Normal file
44
app/boards/shields/bluehand/bluehand.overlay
Normal file
|
@ -0,0 +1,44 @@
|
||||||
|
/*
|
||||||
|
* Copyright (c) 2021 Mike "KemoNine" Crosson
|
||||||
|
* Copyright (c) 2021 jpconstantineau
|
||||||
|
*
|
||||||
|
* SPDX-License-Identifier: MIT
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <dt-bindings/zmk/matrix_transform.h>
|
||||||
|
|
||||||
|
/ {
|
||||||
|
chosen {
|
||||||
|
zmk,kscan = &kscan0;
|
||||||
|
};
|
||||||
|
|
||||||
|
kscan0: kscan_0 {
|
||||||
|
compatible = "zmk,kscan-gpio-direct";
|
||||||
|
|
||||||
|
label = "KSCAN";
|
||||||
|
|
||||||
|
input-gpios
|
||||||
|
= <&gpio0 29 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&gpio0 2 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&gpio0 28 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&gpio0 3 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&gpio0 13 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&gpio0 24 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&gpio0 9 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
, <&gpio0 10 (GPIO_ACTIVE_LOW | GPIO_PULL_UP)>
|
||||||
|
;
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
leds {
|
||||||
|
compatible = "gpio-leds";
|
||||||
|
actled: led_a {
|
||||||
|
gpios = <&gpio1 10 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "ACT LED";
|
||||||
|
};
|
||||||
|
powerled: led_p {
|
||||||
|
gpios = <&gpio1 4 GPIO_ACTIVE_HIGH>;
|
||||||
|
label = "PWR LED";
|
||||||
|
};
|
||||||
|
};
|
||||||
|
};
|
|
@ -40,6 +40,7 @@ That being said, there are currently only a few specific [boards](/docs/faq#what
|
||||||
- [tidbit](https://nullbits.co/tidbit/) (`tidbit`)
|
- [tidbit](https://nullbits.co/tidbit/) (`tidbit`)
|
||||||
- [Eek!](https://www.cbkbd.com/product/eek-keyboard) (`eek`)
|
- [Eek!](https://www.cbkbd.com/product/eek-keyboard) (`eek`)
|
||||||
- [BFO-9000](https://keeb.io/products/bfo-9000-keyboard-customizable-full-size-split-ortholinear) (`bfo9000_left` and `bfo9000_right`)
|
- [BFO-9000](https://keeb.io/products/bfo-9000-keyboard-customizable-full-size-split-ortholinear) (`bfo9000_left` and `bfo9000_right`)
|
||||||
|
- [Bluehand](http://nrf52.jpconstantineau.com/docs/macropad/bluehand/) (`bluehand`)
|
||||||
|
|
||||||
## Other Hardware
|
## Other Hardware
|
||||||
|
|
||||||
|
|
12
docs/static/setup.ps1
vendored
12
docs/static/setup.ps1
vendored
|
@ -58,11 +58,11 @@ catch [System.Management.Automation.CommandNotFoundException] {
|
||||||
Test-Git-Config -Option "user.name" -ErrMsg "Git username not set!`nRun: git config --global user.name 'My Name'"
|
Test-Git-Config -Option "user.name" -ErrMsg "Git username not set!`nRun: git config --global user.name 'My Name'"
|
||||||
Test-Git-Config -Option "user.email" -ErrMsg "Git email not set!`nRun: git config --global user.email 'example@myemail.com'"
|
Test-Git-Config -Option "user.email" -ErrMsg "Git email not set!`nRun: git config --global user.email 'example@myemail.com'"
|
||||||
|
|
||||||
$permission = (Get-Acl $pwd).Access |
|
$permission = (Get-Acl $pwd).Access |
|
||||||
?{$_.IdentityReference -match $env:UserName `
|
?{$_.IdentityReference -match $env:UserName `
|
||||||
-and $_.FileSystemRights -match "FullControl" `
|
-and $_.FileSystemRights -match "FullControl" `
|
||||||
-or $_.FileSystemRights -match "Write" } |
|
-or $_.FileSystemRights -match "Write" } |
|
||||||
|
|
||||||
Select IdentityReference,FileSystemRights
|
Select IdentityReference,FileSystemRights
|
||||||
|
|
||||||
If (-Not $permission){
|
If (-Not $permission){
|
||||||
|
@ -90,9 +90,9 @@ Write-Host "Keyboard Shield Selection:"
|
||||||
$prompt = "Pick a keyboard"
|
$prompt = "Pick a keyboard"
|
||||||
|
|
||||||
# TODO: Add support for "Other" and linking to docs on adding custom shields in user config repos.
|
# TODO: Add support for "Other" and linking to docs on adding custom shields in user config repos.
|
||||||
$options = "Kyria", "Lily58", "Corne", "Splitreus62", "Sofle", "Iris", "Reviung41", "RoMac", "RoMac+", "makerdiary M60", "Microdox", "TG4X", "QAZ", "NIBBLE", "Jorne", "Jian", "CRBN", "Tidbit", "Eek!", "BFO-9000", "Helix"
|
$options = "Kyria", "Lily58", "Corne", "Splitreus62", "Sofle", "Iris", "Reviung41", "RoMac", "RoMac+", "makerdiary M60", "Microdox", "TG4X", "QAZ", "NIBBLE", "Jorne", "Jian", "CRBN", "Tidbit", "Eek!", "BFO-9000", "Helix", "BlueHand"
|
||||||
$names = "kyria", "lily58", "corne", "splitreus62", "sofle", "iris", "reviung41", "romac", "romac_plus", "m60", "microdox", "tg4x", "qaz", "nibble", "jorne", "jian", "crbn", "tidbit", "eek", "bfo9000", "helix"
|
$names = "kyria", "lily58", "corne", "splitreus62", "sofle", "iris", "reviung41", "romac", "romac_plus", "m60", "microdox", "tg4x", "qaz", "nibble", "jorne", "jian", "crbn", "tidbit", "eek", "bfo9000", "helix", "bluehand"
|
||||||
$splits = "y", "y", "y", "y", "y", "y", "n", "n", "n", "n", "y", "n", "n", "n", "y", "y", "n", "n", "n", "n", "y"
|
$splits = "y", "y", "y", "y", "y", "y", "n", "n", "n", "n", "y", "n", "n", "n", "y", "y", "n", "n", "n", "n", "y", "n"
|
||||||
|
|
||||||
$choice = Get-Choice-From-Options -Options $options -Prompt $prompt
|
$choice = Get-Choice-From-Options -Options $options -Prompt $prompt
|
||||||
$shield_title = $($options[$choice])
|
$shield_title = $($options[$choice])
|
||||||
|
|
3
docs/static/setup.sh
vendored
3
docs/static/setup.sh
vendored
|
@ -91,7 +91,7 @@ echo ""
|
||||||
echo "Keyboard Shield Selection:"
|
echo "Keyboard Shield Selection:"
|
||||||
|
|
||||||
prompt="Pick an keyboard:"
|
prompt="Pick an keyboard:"
|
||||||
options=("Kyria" "Lily58" "Corne" "Splitreus62" "Sofle" "Iris" "Reviung41" "RoMac" "RoMac+" "makerdiary M60" "Microdox" "TG4X" "QAZ" "NIBBLE" "Jorne" "Jian" "CRBN" "Tidbit" "Eek!" "BFO-9000" "Helix")
|
options=("Kyria" "Lily58" "Corne" "Splitreus62" "Sofle" "Iris" "Reviung41" "RoMac" "RoMac+" "makerdiary M60" "Microdox" "TG4X" "QAZ" "NIBBLE" "Jorne" "Jian" "CRBN" "Tidbit" "Eek!" "BFO-9000" "Helix" "BlueHand")
|
||||||
|
|
||||||
PS3="$prompt "
|
PS3="$prompt "
|
||||||
# TODO: Add support for "Other" and linking to docs on adding custom shields in user config repos.
|
# TODO: Add support for "Other" and linking to docs on adding custom shields in user config repos.
|
||||||
|
@ -121,6 +121,7 @@ select opt in "${options[@]}" "Quit"; do
|
||||||
19 ) shield_title="Eek!" shield="eek"; split="n" break;;
|
19 ) shield_title="Eek!" shield="eek"; split="n" break;;
|
||||||
20 ) shield_title="BFO-9000" shield="bfo9000"; split="y"; break;;
|
20 ) shield_title="BFO-9000" shield="bfo9000"; split="y"; break;;
|
||||||
21 ) shield_title="Helix" shield="helix"; split="y"; break;;
|
21 ) shield_title="Helix" shield="helix"; split="y"; break;;
|
||||||
|
22 ) shield_title="BlueHand" shield "bluehand"; split="n"; break;;
|
||||||
|
|
||||||
# Add link to docs on adding your own custom shield in your ZMK config!
|
# Add link to docs on adding your own custom shield in your ZMK config!
|
||||||
# $(( ${#options[@]}+1 )) ) echo "Other!"; break;;
|
# $(( ${#options[@]}+1 )) ) echo "Other!"; break;;
|
||||||
|
|
Loading…
Add table
Reference in a new issue