-
-
Notifications
You must be signed in to change notification settings - Fork 40.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adds keyboard "Sofle Pico" #23338
Open
JellyTitan
wants to merge
95
commits into
qmk:master
Choose a base branch
from
JellyTitan:sofle_pico
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+468
−0
Open
Adds keyboard "Sofle Pico" #23338
Changes from 88 commits
Commits
Show all changes
95 commits
Select commit
Hold shift + click to select a range
f417e42
Sofle pico first commit
JellyTitan 97e6b96
fixed sofle pico build process
JellyTitan 1bc1ecd
Added RH trackball
JellyTitan 0b1495f
Fixed RH pimaroni config bug
JellyTitan edd4f42
Renamed sofle_v303 to sofle_pico
JellyTitan 0ca4c65
Sofle Pico 'default' keymap created/fixed
JellyTitan 2f5e18d
Move matrix_pins into info.json
JellyTitan 7cb5875
Fixed switched row/column config
JellyTitan 3736ac3
Added max_brightness to rgb_matrix
JellyTitan dfe3646
Moved mouse config to .json
JellyTitan 371850c
Moved tapping term speed to json
JellyTitan b741ec9
Changed layout config name from LAYOUT_split4x6_r1 to LAYOUT
JellyTitan fbd7c8c
Updated hex for vid (JT) and pid (SP)
JellyTitan d19f4fc
Removed swap hands
JellyTitan 3749d07
Removed rev1 folder and duplicate rules
JellyTitan 73b8a65
Moved most of rules.mk to info.json
JellyTitan 86e8ae1
Removed OLED transport config rule
JellyTitan 67753d7
Shows logo on startup for 5 seconds
JellyTitan 161b8f5
Wipes OLED after startup logo
JellyTitan e479049
Moved SPLIT_KEYBOARD setting from rules to .json
JellyTitan 5479c27
Removed duplicated rgb_matrix config
JellyTitan e3454a3
Added rgb_matrix animations and defaults to json config
JellyTitan f826ecc
Fixed switched RH thumb keys
JellyTitan cb66ad3
Updated json layout labels to match legacy sofle defaults
JellyTitan 90fedbc
Adds 'bootmagic' feature
JellyTitan 2254ebd
Moved heatmap animations to json config
JellyTitan b56fb64
Added via files (not yet working)
JellyTitan 4f2024a
Maxed out max brightness
JellyTitan 63d4abe
Fixed OLED logo timeout bug
JellyTitan 867ebca
Added QMK & Via logo to RH startup OLED
JellyTitan 2162f10
Update readme.md image link
JellyTitan 567bfe8
Update readme.md
JellyTitan bbfdde9
Update readme.md
JellyTitan 36bc366
Removed animation default 'on'
JellyTitan a43c408
Merge branch 'master' of https://github.com/JellyTitan/qmk_firmware i…
JellyTitan c8fd129
Default keymap matches legacy sofle
JellyTitan 461432b
Removed tapdance from default config and keymap
JellyTitan 0629633
Reduced max brightness
JellyTitan 3da48b3
Added via support for default
JellyTitan 934ada8
Updated default layer count to match classic Sofle
JellyTitan 53eab0a
Merge branch 'qmk:master' into sofle_pico
JellyTitan 05c1c91
Updated Sofle Pico name and url
JellyTitan 3899c21
qmk-json formatting applied
JellyTitan 3273146
Readme tweak
JellyTitan a93ba7e
Updated sofle pico hero images
JellyTitan 475bdec
Formatting cleanup
JellyTitan b9adb0e
Fixed ascii keymaps mangled by clang
JellyTitan 540f16a
Fixes broken url in readme's
JellyTitan dcbfbed
Adds updated startup graphics to default Sofle Pico keymap
JellyTitan 755f20e
Fixed OLED rotation
JellyTitan 87a56ad
fix issue of cpslk appearing on different lines in default and raise/…
uberrice 2e2a952
Merge pull request #41 from uberrice/sofle_pico
JellyTitan 20e4c08
Added uberrice submitted oled line wraps to default keymap
JellyTitan 9b7a4be
Fixed jellytitan oled line breaks
JellyTitan 6d8cfe8
Cleans up comments to use 'C' style
JellyTitan c0e7f06
Fixes long comment styling
JellyTitan 6d8b086
Updates readme to use 'via' keymap as default
JellyTitan 3539f6c
Removed redundant comments
JellyTitan a7c9965
Restores 'default' keymap in readme to align with qmk template guidel…
JellyTitan 6c000cb
Merge branch 'qmk:master' into sofle_pico
JellyTitan 2cce3b8
Fixes lint error 'Invalid keyboard level feature detected - encoder_map'
JellyTitan da01f24
Update keyboards/sofle_pico/info.json
JellyTitan 4ca2cc2
Fixes sofle pico via keymap name in readme
JellyTitan 0891aa2
Moved bootmagic config into info.json
JellyTitan abb10f1
Removes redundant encoder resolution
JellyTitan bd2c950
Removes redundant encoder resolution
JellyTitan 42d715a
Turns off the LEDs when the host goes to sleep.
JellyTitan 97f950d
Simplifies flashing instructions to align with standards
JellyTitan 06a4bb9
Added ee_hands first flash instructions to README
JellyTitan 7d6a766
Moves sofle pico keymap images to imgur
JellyTitan 6336c21
Standardizes make commands in readme
JellyTitan e98fd4a
Removes user keymap 'default_jellytitan'
JellyTitan fe281ec
moves the OLED code from the default keymap to the keyboard level
JellyTitan 83d1fb7
Removes pointing device config at the keyboard level.
JellyTitan 0a210d5
Removes extended layer count, and extra rgb config from keyboard level
JellyTitan c03ff53
Moves layer state transport sync to json config
JellyTitan caf496f
Removes keyboard level conditionals wrapping oled size, timeout, and …
JellyTitan b9f6310
Fixes lazy encoder formatting
JellyTitan c9da4b5
Removes vestigial encoder map layer
JellyTitan a011ffb
Removes depricated copy/paste/cut/undo methods
JellyTitan cad7282
Removed vestigial OLED logo timeout
JellyTitan 4986536
Enables tri_layer feature
JellyTitan 3a1a71d
Cleans up keymap spacing
JellyTitan 5c1383d
Copies default keymap updates to VIA keymap
JellyTitan 24462d2
Removes ee_hands - letting master default to LH
JellyTitan 0ce90e4
Removed tri-layer-enable from via keymap
JellyTitan 643b50d
removes enabled mouse_key default
JellyTitan 3d37307
fixes oled rotation default at the keyboard level.
JellyTitan 847dbbd
Merge branch 'master' of https://github.com/JellyTitan/qmk_firmware i…
JellyTitan ea1a0c0
Removes VIA-enabled keymap from Sofle Pico
JellyTitan 6545c21
Removes unneded rules.mk
JellyTitan fe03013
Moves serial driver from rules.mk to info.json
JellyTitan 956bdc7
Merge branch 'qmk:master' into sofle_pico
JellyTitan d8fd17d
Moves hero image readme hosting to imgur
JellyTitan 5f77b55
Merge branch 'qmk:master' into sofle_pico
JellyTitan File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
// Copyright 2024 Ryan Neff (@JellyTitan) | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
#pragma once | ||
|
||
/* Use full duplex communication (TRRS) */ | ||
#define SERIAL_USART_FULL_DUPLEX | ||
#define SERIAL_USART_TX_PIN GP16 | ||
#define SERIAL_USART_RX_PIN GP17 | ||
/* Swap TX and RX pins if keyboard is master half. Only available on some MCU's. This _is_ available on the RP2040 */ | ||
#define SERIAL_USART_PIN_SWAP | ||
|
||
/* I2C for OLEDs */ | ||
#define I2C_DRIVER I2CD1 | ||
#define I2C1_SDA_PIN GP6 | ||
#define I2C1_SCL_PIN GP7 | ||
|
||
#define OLED_DISPLAY_128X64 | ||
#define OLED_TIMEOUT 30000 | ||
|
||
#define ENCODER_MAP_KEY_DELAY 10 | ||
|
||
#define RGB_MATRIX_TYPING_HEATMAP_DECREASE_DELAY_MS 50 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,7 @@ | ||
// Copyright 2024 Ryan Neff (@JellyTitan) | ||
// SPDX-License-Identifier: GPL-2.0-or-later | ||
|
||
#pragma once | ||
|
||
#define HAL_USE_I2C TRUE | ||
#include_next <halconf.h> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,248 @@ | ||
{ | ||
"manufacturer": "Ryan Neff", | ||
"keyboard_name": "Sofle Pico", | ||
"maintainer": "Ryan Neff <github@JellyTitan.com>", | ||
"bootloader": "rp2040", | ||
"bootloader_instructions": "Hold the BOOT button while plugging in the usb cable", | ||
"diode_direction": "COL2ROW", | ||
"encoder": { | ||
"rotary": [ | ||
{"pin_a": "GP14", "pin_b": "GP15"} | ||
] | ||
}, | ||
"features": { | ||
"bootmagic": true, | ||
"command": false, | ||
"console": false, | ||
"dynamic_tapping_term": true, | ||
"encoder": true, | ||
"extrakey": true, | ||
"mousekey": true, | ||
"nkro": true, | ||
"oled": true, | ||
JellyTitan marked this conversation as resolved.
Show resolved
Hide resolved
|
||
"rgb_matrix": true, | ||
"wpm": true | ||
}, | ||
"matrix_pins": { | ||
"cols": ["GP1", "GP2", "GP3", "GP4", "GP5", "GP8"], | ||
"rows": ["GP9", "GP10", "GP11", "GP12", "GP13"] | ||
}, | ||
"mouse_key": { | ||
"delay": 10, | ||
"interval": 16, | ||
"max_speed": 2, | ||
"time_to_max": 40 | ||
}, | ||
"processor": "RP2040", | ||
"rgb_matrix": { | ||
JellyTitan marked this conversation as resolved.
Show resolved
Hide resolved
|
||
"sleep": true, | ||
"animations": { | ||
"band_pinwheel_sat": true, | ||
"band_pinwheel_val": true, | ||
"band_sat": true, | ||
"band_spiral_sat": true, | ||
"band_spiral_val": true, | ||
"band_val": true, | ||
"breathing": true, | ||
"cycle_all": true, | ||
"cycle_left_right": true, | ||
"cycle_out_in": true, | ||
"cycle_out_in_dual": true, | ||
"cycle_pinwheel": true, | ||
"cycle_spiral": true, | ||
"cycle_up_down": true, | ||
"digital_rain": true, | ||
"dual_beacon": true, | ||
"gradient_left_right": true, | ||
"gradient_up_down": true, | ||
"hue_breathing": true, | ||
"hue_pendulum": true, | ||
"hue_wave": true, | ||
"jellybean_raindrops": true, | ||
"multisplash": true, | ||
"pixel_flow": true, | ||
"pixel_rain": true, | ||
"rainbow_beacon": true, | ||
"rainbow_moving_chevron": true, | ||
"rainbow_pinwheels": true, | ||
"raindrops": true, | ||
"solid_multisplash": true, | ||
"solid_reactive": true, | ||
"solid_reactive_cross": true, | ||
"solid_reactive_multicross": true, | ||
"solid_reactive_multinexus": true, | ||
"solid_reactive_multiwide": true, | ||
"solid_reactive_nexus": true, | ||
"solid_reactive_simple": true, | ||
"solid_reactive_wide": true, | ||
"solid_splash": true, | ||
"splash": true, | ||
"typing_heatmap": true | ||
}, | ||
"default": { | ||
"animation": "cycle_out_in", | ||
"speed": 16 | ||
}, | ||
"driver": "ws2812", | ||
"layout": [ | ||
{"matrix": [0, 5], "x": 95, "y": 7, "flags": 4}, | ||
{"matrix": [1, 5], "x": 95, "y": 21, "flags": 4}, | ||
{"matrix": [2, 5], "x": 95, "y": 36, "flags": 4}, | ||
{"matrix": [3, 5], "x": 95, "y": 50, "flags": 4}, | ||
{"matrix": [4, 4], "x": 115, "y": 64, "flags": 4}, | ||
{"matrix": [4, 3], "x": 95, "y": 64, "flags": 4}, | ||
{"matrix": [4, 2], "x": 76, "y": 62, "flags": 4}, | ||
{"matrix": [3, 4], "x": 76, "y": 48, "flags": 4}, | ||
{"matrix": [2, 4], "x": 76, "y": 33, "flags": 4}, | ||
{"matrix": [1, 4], "x": 76, "y": 19, "flags": 4}, | ||
{"matrix": [0, 4], "x": 76, "y": 5, "flags": 4}, | ||
{"matrix": [0, 3], "x": 57, "y": 3, "flags": 4}, | ||
{"matrix": [1, 3], "x": 57, "y": 17, "flags": 4}, | ||
{"matrix": [2, 3], "x": 57, "y": 31, "flags": 4}, | ||
{"matrix": [3, 3], "x": 57, "y": 46, "flags": 4}, | ||
{"matrix": [4, 1], "x": 57, "y": 62, "flags": 4}, | ||
{"matrix": [4, 0], "x": 38, "y": 64, "flags": 4}, | ||
{"matrix": [3, 2], "x": 38, "y": 48, "flags": 4}, | ||
{"matrix": [2, 2], "x": 38, "y": 33, "flags": 4}, | ||
{"matrix": [1, 2], "x": 38, "y": 19, "flags": 4}, | ||
{"matrix": [0, 2], "x": 38, "y": 5, "flags": 4}, | ||
{"matrix": [0, 1], "x": 19, "y": 7, "flags": 4}, | ||
{"matrix": [1, 1], "x": 19, "y": 21, "flags": 4}, | ||
{"matrix": [2, 1], "x": 19, "y": 36, "flags": 4}, | ||
{"matrix": [3, 1], "x": 19, "y": 50, "flags": 4}, | ||
{"matrix": [3, 0], "x": 0, "y": 50, "flags": 4}, | ||
{"matrix": [2, 0], "x": 0, "y": 36, "flags": 4}, | ||
{"matrix": [1, 0], "x": 0, "y": 21, "flags": 4}, | ||
{"matrix": [0, 0], "x": 0, "y": 7, "flags": 4}, | ||
{"matrix": [5, 5], "x": 129, "y": 7, "flags": 4}, | ||
{"matrix": [6, 5], "x": 129, "y": 21, "flags": 4}, | ||
{"matrix": [7, 5], "x": 129, "y": 36, "flags": 4}, | ||
{"matrix": [8, 5], "x": 129, "y": 50, "flags": 4}, | ||
{"matrix": [9, 4], "x": 119, "y": 64, "flags": 4}, | ||
{"matrix": [9, 3], "x": 129, "y": 64, "flags": 4}, | ||
{"matrix": [9, 2], "x": 148, "y": 62, "flags": 4}, | ||
{"matrix": [8, 4], "x": 148, "y": 48, "flags": 4}, | ||
{"matrix": [7, 4], "x": 148, "y": 33, "flags": 4}, | ||
{"matrix": [6, 4], "x": 148, "y": 19, "flags": 4}, | ||
{"matrix": [5, 4], "x": 148, "y": 5, "flags": 4}, | ||
{"matrix": [5, 3], "x": 167, "y": 3, "flags": 4}, | ||
{"matrix": [6, 3], "x": 167, "y": 17, "flags": 4}, | ||
{"matrix": [7, 3], "x": 167, "y": 31, "flags": 4}, | ||
{"matrix": [8, 3], "x": 167, "y": 46, "flags": 4}, | ||
{"matrix": [9, 1], "x": 167, "y": 62, "flags": 4}, | ||
{"matrix": [9, 0], "x": 186, "y": 64, "flags": 4}, | ||
{"matrix": [8, 2], "x": 186, "y": 48, "flags": 4}, | ||
{"matrix": [7, 2], "x": 186, "y": 33, "flags": 4}, | ||
{"matrix": [6, 2], "x": 186, "y": 19, "flags": 4}, | ||
{"matrix": [5, 2], "x": 186, "y": 5, "flags": 4}, | ||
{"matrix": [5, 1], "x": 209, "y": 7, "flags": 4}, | ||
{"matrix": [6, 1], "x": 209, "y": 21, "flags": 4}, | ||
{"matrix": [7, 1], "x": 209, "y": 36, "flags": 4}, | ||
{"matrix": [8, 1], "x": 209, "y": 50, "flags": 4}, | ||
{"matrix": [8, 0], "x": 224, "y": 50, "flags": 4}, | ||
{"matrix": [7, 0], "x": 224, "y": 36, "flags": 4}, | ||
{"matrix": [6, 0], "x": 224, "y": 21, "flags": 4}, | ||
{"matrix": [5, 0], "x": 224, "y": 7, "flags": 4} | ||
], | ||
"max_brightness": 127, | ||
"split_count": [29, 29] | ||
}, | ||
"split": { | ||
"enabled": true, | ||
JellyTitan marked this conversation as resolved.
Show resolved
Hide resolved
|
||
"bootmagic": { | ||
"matrix": [5, 0] | ||
}, | ||
"encoder": { | ||
"right": { | ||
"rotary": [ | ||
{"pin_a": "GP14", "pin_b": "GP15"} | ||
] | ||
} | ||
}, | ||
JellyTitan marked this conversation as resolved.
Show resolved
Hide resolved
|
||
"transport": { | ||
"sync": { | ||
"layer_state": true | ||
} | ||
} | ||
JellyTitan marked this conversation as resolved.
Show resolved
Hide resolved
|
||
}, | ||
"tags": ["ortho", "split", "rgb", "encoder", "OLED", "128x64", "tenting_puck"], | ||
"tapping": { | ||
"term": 210 | ||
}, | ||
"url": "https://github.com/JellyTitan/Sofle-Pico", | ||
"usb": { | ||
"device_version": "3.5.4", | ||
"pid": "0x5350", | ||
"vid": "0x4A54" | ||
}, | ||
"ws2812": { | ||
"driver": "vendor", | ||
"pin": "GP0" | ||
}, | ||
"layouts": { | ||
"LAYOUT": { | ||
"layout": [ | ||
{"label": "`", "matrix": [0, 0], "x": 0, "y": 0.7}, | ||
{"label": "1", "matrix": [0, 1], "x": 1, "y": 0.7}, | ||
{"label": "2", "matrix": [0, 2], "x": 2, "y": 0.3}, | ||
{"label": "3", "matrix": [0, 3], "x": 3, "y": 0}, | ||
{"label": "4", "matrix": [0, 4], "x": 4, "y": 0.3}, | ||
{"label": "5", "matrix": [0, 5], "x": 5, "y": 0.45}, | ||
{"label": "6", "matrix": [5, 5], "x": 9, "y": 0.45}, | ||
{"label": "7", "matrix": [5, 4], "x": 10, "y": 0.3}, | ||
{"label": "8", "matrix": [5, 3], "x": 11, "y": 0}, | ||
{"label": "9", "matrix": [5, 2], "x": 12, "y": 0.3}, | ||
{"label": "0", "matrix": [5, 1], "x": 13, "y": 0.7}, | ||
{"label": "`", "matrix": [5, 0], "x": 14, "y": 0.7}, | ||
{"label": "Esc", "matrix": [1, 0], "x": 0, "y": 1.7}, | ||
{"label": "Q", "matrix": [1, 1], "x": 1, "y": 1.7}, | ||
{"label": "W", "matrix": [1, 2], "x": 2, "y": 1.3}, | ||
{"label": "E", "matrix": [1, 3], "x": 3, "y": 1}, | ||
{"label": "R", "matrix": [1, 4], "x": 4, "y": 1.3}, | ||
{"label": "T", "matrix": [1, 5], "x": 5, "y": 1.45}, | ||
{"label": "Y", "matrix": [6, 5], "x": 9, "y": 1.45}, | ||
{"label": "U", "matrix": [6, 4], "x": 10, "y": 1.3}, | ||
{"label": "I", "matrix": [6, 3], "x": 11, "y": 1}, | ||
{"label": "O", "matrix": [6, 2], "x": 12, "y": 1.3}, | ||
{"label": "P", "matrix": [6, 1], "x": 13, "y": 1.7}, | ||
{"label": "Bspc", "matrix": [6, 0], "x": 14, "y": 1.7}, | ||
{"label": "Tab", "matrix": [2, 0], "x": 0, "y": 2.7}, | ||
{"label": "A", "matrix": [2, 1], "x": 1, "y": 2.7}, | ||
{"label": "S", "matrix": [2, 2], "x": 2, "y": 2.3}, | ||
{"label": "D", "matrix": [2, 3], "x": 3, "y": 2}, | ||
{"label": "F", "matrix": [2, 4], "x": 4, "y": 2.3}, | ||
{"label": "G", "matrix": [2, 5], "x": 5, "y": 2.45}, | ||
{"label": "H", "matrix": [7, 5], "x": 9, "y": 2.45}, | ||
{"label": "J", "matrix": [7, 4], "x": 10, "y": 2.3}, | ||
{"label": "K", "matrix": [7, 3], "x": 11, "y": 2}, | ||
{"label": "L", "matrix": [7, 2], "x": 12, "y": 2.3}, | ||
{"label": ";", "matrix": [7, 1], "x": 13, "y": 2.7}, | ||
{"label": "'", "matrix": [7, 0], "x": 14, "y": 2.7}, | ||
{"label": "LShift", "matrix": [3, 0], "x": 0, "y": 3.7}, | ||
{"label": "Z", "matrix": [3, 1], "x": 1, "y": 3.7}, | ||
{"label": "X", "matrix": [3, 2], "x": 2, "y": 3.3}, | ||
{"label": "C", "matrix": [3, 3], "x": 3, "y": 3}, | ||
{"label": "V", "matrix": [3, 4], "x": 4, "y": 3.3}, | ||
{"label": "B", "matrix": [3, 5], "x": 5, "y": 3.45}, | ||
{"label": "Mute", "matrix": [4, 5], "x": 6.2, "y": 3.45}, | ||
{"label": "Pause", "matrix": [9, 5], "x": 7.8, "y": 3.45}, | ||
{"label": "N", "matrix": [8, 5], "x": 9, "y": 3.45}, | ||
{"label": "M", "matrix": [8, 4], "x": 10, "y": 3.3}, | ||
{"label": ",", "matrix": [8, 3], "x": 11, "y": 3}, | ||
{"label": ".", "matrix": [8, 2], "x": 12, "y": 3.3}, | ||
{"label": "/", "matrix": [8, 1], "x": 13, "y": 3.7}, | ||
{"label": "RShift", "matrix": [8, 0], "x": 14, "y": 3.7}, | ||
{"label": "LCtrl", "matrix": [4, 0], "x": 2, "y": 4.3}, | ||
{"label": "LGUI", "matrix": [4, 1], "x": 3, "y": 4}, | ||
{"label": "LCmnd", "matrix": [4, 2], "x": 4, "y": 4.3}, | ||
{"label": "LAlt", "matrix": [4, 3], "x": 5.1, "y": 4.5, "h": 1.5}, | ||
{"label": "Enter", "matrix": [4, 4], "x": 6.1, "y": 4.5, "h": 1.5}, | ||
{"label": "Space", "matrix": [9, 4], "x": 7.9, "y": 4.5, "h": 1.5}, | ||
{"label": "RAlt", "matrix": [9, 3], "x": 8.9, "y": 4.5, "h": 1.5}, | ||
{"label": "RCmnd", "matrix": [9, 2], "x": 10, "y": 4.3}, | ||
{"label": "RGui", "matrix": [9, 1], "x": 11, "y": 4}, | ||
{"label": "RCtrl", "matrix": [9, 0], "x": 12, "y": 4.3} | ||
] | ||
} | ||
} | ||
} |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This file should be renamed to
keyboard.json
.