Added support for OS lock key
This commit is contained in:
parent
238316be6e
commit
8fdc02a640
@ -16,14 +16,14 @@
|
||||
------------------- -------------------
|
||||
Layer 1 (Fn)
|
||||
--------------------------------------- ---------------------------------------
|
||||
| Esc | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | BSpc |
|
||||
| Esc | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | BSpc |
|
||||
| LCtrl | 1! | 2"@ | 3#£ | 4¤$ | 5% | | 6& | 7/{ | 8([ | 9)] | 0=} | Enter |
|
||||
| Shift | 6& | 7/{ | 8([ | 9)] | 0=} | | <>| | ´`± | '*´ | ¨^~ | +?\ | Shift |
|
||||
--------------------| Alt | Fn | Spc | | BSpc| Fn |AG+Fn|--------------------
|
||||
------------------- -------------------
|
||||
Layer 2 (Fn + Fn)
|
||||
--------------------------------------- ---------------------------------------
|
||||
| Esc | F11 | F12 | F13 | F14 |PrSrc| | § | SLOK| Gui | | CpLk| BSpc |
|
||||
| Esc | F11 | F12 | F13 | F14 |PrSrc| | § | SLk | Gui | OSLk| CpLk| BSpc |
|
||||
| LCtrl | F15 | F16 | F17 | F18 | F19 | | Left| Down| Up |Right| Del | Enter |
|
||||
| Shift | F20 | F21 | F22 | F23 | F24 | | Home| PgD | PgU | End | Ins | Shift |
|
||||
--------------------| Alt | Fn | Spc | | BSpc| Fn |AG+Fn|--------------------
|
||||
@ -78,7 +78,7 @@ Rust embedded, rp2040 HAL
|
||||
```text
|
||||
Layer 0
|
||||
-------------------------------------- ------ ------ --------------------------------------
|
||||
| Tab | Q | W | E | R | T || SLCK| |PrSrc|| Y | U | I | O | P | Å |
|
||||
| Tab | Q | W | E | R | T || SLk | |PrSrc|| Y | U | I | O | P | Å |
|
||||
| LCtrl | A | S | D | F | G || M2 | | M5 || H | J | K | L | Ö | Ä |
|
||||
| Shift | Z | X | C | V | B || M3 |-----| M6 || N | M | ,; | .: | -_ | Shift |
|
||||
--------------------| Alt | Fn | Spc || BSpc| Gui |Enter|| Spc | Fn |AG+Fn|--------------------
|
||||
@ -92,7 +92,7 @@ Rust embedded, rp2040 HAL
|
||||
------------------ ----------------- ------------------
|
||||
Layer 2 (Fn + Fn)
|
||||
-------------------------------------- ------ ------ --------------------------------------
|
||||
| Esc | F11 | F12 | F13 | F14 | || M1 | | M4 || § | SLCK| | | CpLk| BSpc |
|
||||
| Esc | F11 | F12 | F13 | F14 | || M1 | | M4 || § | SLk | | | CpLk| BSpc |
|
||||
| LCtrl | F15 | F16 | F17 | F18 | F19 || M2 | | M5 || Left| Down| Up |Right| Del | Enter |
|
||||
| Shift | F20 | F21 | F22 | F23 | F24 || M3 |-----| M6 || Home| PgD | PgU | End | Ins | Shift |
|
||||
--------------------| Alt | Fn | Spc || BSpc| Gui |Enter|| Spc | Fn |AG+Fn|--------------------
|
||||
|
||||
@ -39,6 +39,10 @@ pub const FN_BUTTONS: [u8; 3] = [40, 43, 44];
|
||||
/// Sticky button [index, layer]
|
||||
pub const STICKY_BUTTON: [u8; 2] = [7, 2];
|
||||
|
||||
/// OS Lock button [index, layer]
|
||||
pub const OS_LOCK_BUTTON: [u8; 2] = [9, 2];
|
||||
pub const OS_LOCK_BUTTON_KEYS: [Keyboard; 2] = [Keyboard::LeftGUI, Keyboard::L];
|
||||
|
||||
/// Button map to HID key (three Function layers)
|
||||
pub const MAP: [[Keyboard; NUMBER_OF_KEYS]; 3] = [
|
||||
[
|
||||
@ -160,7 +164,7 @@ pub const MAP: [[Keyboard; NUMBER_OF_KEYS]; 3] = [
|
||||
Keyboard::Grave, // 6 §
|
||||
Keyboard::NoEventIndicated, // 7 STICKY lock
|
||||
Keyboard::LeftGUI, // 8
|
||||
Keyboard::NoEventIndicated, // 9
|
||||
Keyboard::NoEventIndicated, // 9 OS Lock
|
||||
Keyboard::CapsLock, // 10
|
||||
Keyboard::DeleteForward, // 11
|
||||
Keyboard::LeftControl, // 12
|
||||
|
||||
@ -341,6 +341,17 @@ fn get_keyboard_report(
|
||||
*sticky_key = Keyboard::NoEventIndicated;
|
||||
}
|
||||
|
||||
// Check if OS Lock button is pressed (SET STICKY)
|
||||
if key.pressed != key.previous_pressed
|
||||
&& key.pressed
|
||||
&& index as u8 == layout::OS_LOCK_BUTTON[0]
|
||||
&& fn_mode == layout::OS_LOCK_BUTTON[1]
|
||||
{
|
||||
// Index 36, 37, 38, 45, 46, 47 are not used by any other keys
|
||||
keyboard_report[36] = layout::OS_LOCK_BUTTON_KEYS[0];
|
||||
keyboard_report[37] = layout::OS_LOCK_BUTTON_KEYS[1];
|
||||
}
|
||||
|
||||
// Set fn mode for the pressed button
|
||||
if key.pressed != key.previous_pressed && key.pressed {
|
||||
key.fn_mode = fn_mode;
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user