Skip to content
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

[Keyboard] Add lxxt #19935

Merged
merged 42 commits into from
Apr 5, 2023
Merged
Show file tree
Hide file tree
Changes from 41 commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
361103b
Create Alter folder
May 20, 2020
33648e0
Revert "Create Alter folder"
May 20, 2020
2bb261d
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Jun 19, 2020
6cc8fdc
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Jun 28, 2020
7d49b70
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Jun 28, 2020
bbcc0fa
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Jun 29, 2020
ffbdc9b
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Jul 29, 2020
0bb60c7
Merge branch 'master' of https://github.com/qmk/qmk_firmware into master
Jul 31, 2020
d6e7d57
Merge branch 'master' of https://github.com/qmk/qmk_firmware into master
Aug 19, 2020
b3d1eab
Merge branch 'master' of https://github.com/qmk/qmk_firmware into master
Oct 16, 2020
bcfd9f5
Merge branch 'master' of https://github.com/qmk/qmk_firmware into master
Nov 15, 2020
23ee535
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Dec 10, 2020
c9a8ffb
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Dec 21, 2020
73f4667
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Jan 14, 2021
6d7b019
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Feb 25, 2021
324da7d
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Apr 13, 2021
fde540d
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Jun 8, 2021
a2bc287
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Aug 5, 2021
976d90e
Merge branch 'master' of https://github.com/NightlyBoards/qmk_firmware
Oct 28, 2021
aacb4db
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Jun 5, 2022
7a212b9
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Jul 3, 2022
1937dc4
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Jul 11, 2022
7386eaa
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Aug 16, 2022
0505bce
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Aug 31, 2022
f705380
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Sep 3, 2022
7a4de41
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Sep 25, 2022
4dd254f
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Nov 19, 2022
babe171
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Dec 5, 2022
d85f627
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Dec 12, 2022
5a7f804
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Dec 22, 2022
cbcdd50
Merge branch 'master' of https://github.com/qmk/qmk_firmware
Dec 30, 2022
e1db3cf
Add lxxt folder
Dec 30, 2022
35bf3f4
code fix for rgb
Jan 11, 2023
404207e
edited info.json
Jan 18, 2023
ccda4e0
edit
Feb 25, 2023
ed961d5
edited files based on comments
Feb 26, 2023
b552e20
edited files based on comments
Feb 28, 2023
0de433c
edited files based on comments
Mar 1, 2023
283814e
edited files based on comments
Mar 22, 2023
bc2716b
edited files
Mar 23, 2023
3136f61
edited files based on comments
Mar 24, 2023
0807c9b
deleted readme
Apr 5, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
19 changes: 19 additions & 0 deletions keyboards/lxxt/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
/* Copyright 2023 DeskDaily
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/

#pragma once

#define WS2812_PIO_USE_PIO1
133 changes: 133 additions & 0 deletions keyboards/lxxt/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,133 @@
{
"keyboard_name": "LXXT",
"manufacturer": "DeskDaily",
"url": "",
"maintainer": "DeskDaily",
"usb": {
"vid": "0x5003",
"pid": "0x0001",
"device_version": "0.0.1"
},
DeskDaily marked this conversation as resolved.
Show resolved Hide resolved
"encoder": {
"rotary": [
{"pin_a": "GP27", "pin_b": "GP28"},
{"pin_a": "GP8", "pin_b": "GP9"}
]
},
"processor": "RP2040",
"bootloader": "rp2040",
"matrix_pins": {
"rows": ["GP29", "GP26", "GP22", "GP24", "GP17"],
"cols": ["GP25", "GP23", "GP7", "GP0", "GP15", "GP14", "GP13", "GP12", "GP11", "GP10", "GP6", "GP5", "GP4", "GP3", "GP2", "GP1"]
},
"rgblight": {
"pin": "GP21",
"led_count": 16,
"hue_steps": 8,
"saturation_steps": 8,
"brightness_steps": 8,
"max_brightness": 255,
"sleep": true,
"animations": {
"alternating": true,
"breathing": true,
"christmas": true,
"knight": true,
"rainbow_mood": true,
"rainbow_swirl": true,
"rgb_test": true,
"snake": true,
"static_gradient": true,
"twinkle": true
}
},
"diode_direction": "COL2ROW",
"features": {
"bootmagic": true,
"mousekey": true,
"extrakey": true,
"console": false,
"command": false,
"nkro": true,
"rgblight": true
},
"layouts": {
"LAYOUT": {
"layout": [
{"matrix": [0, 0], "x": 0, "y": 0},
{"matrix": [0, 1], "x": 1.25, "y": 0},
{"matrix": [0, 2], "x": 2.25, "y": 0},
{"matrix": [0, 3], "x": 3.25, "y": 0},
{"matrix": [0, 4], "x": 4.25, "y": 0},
{"matrix": [0, 5], "x": 5.25, "y": 0},
{"matrix": [0, 6], "x": 6.25, "y": 0},
{"matrix": [0, 7], "x": 7.25, "y": 0},
{"matrix": [0, 8], "x": 8.25, "y": 0},
{"matrix": [0, 9], "x": 9.25, "y": 0},
{"matrix": [0, 10], "x": 10.25, "y": 0},
{"matrix": [0, 11], "x": 11.25, "y": 0},
{"matrix": [0, 12], "x": 12.25, "y": 0},
{"matrix": [0, 13], "x": 13.25, "y": 0},
{"matrix": [0, 14], "x": 14.25, "y": 0},
{"matrix": [1, 14], "x": 15.25, "y": 0},
{"matrix": [0, 15], "x": 16.5, "y": 0},
{"matrix": [1, 0], "x": 0, "y": 1},
{"matrix": [1, 1], "x": 1.25, "y": 1, "w": 1.5},
{"matrix": [1, 2], "x": 2.75, "y": 1},
{"matrix": [1, 3], "x": 3.75, "y": 1},
{"matrix": [1, 4], "x": 4.75, "y": 1},
{"matrix": [1, 5], "x": 5.75, "y": 1},
{"matrix": [1, 6], "x": 6.75, "y": 1},
{"matrix": [1, 7], "x": 7.75, "y": 1},
{"matrix": [1, 8], "x": 8.75, "y": 1},
{"matrix": [1, 9], "x": 9.75, "y": 1},
{"matrix": [1, 10], "x": 10.75, "y": 1},
{"matrix": [1, 11], "x": 11.75, "y": 1},
{"matrix": [1, 12], "x": 12.75, "y": 1},
{"matrix": [1, 13], "x": 13.75, "y": 1},
{"matrix": [2, 14], "x": 14.75, "y": 1, "w": 1.5},
{"matrix": [1, 15], "x": 16.5, "y": 1},
{"matrix": [2, 0], "x": 0, "y": 2},
{"matrix": [2, 1], "x": 1.25, "y": 2, "w": 1.75},
{"matrix": [2, 2], "x": 3, "y": 2},
{"matrix": [2, 3], "x": 4, "y": 2},
{"matrix": [2, 4], "x": 5, "y": 2},
{"matrix": [2, 5], "x": 6, "y": 2},
{"matrix": [2, 6], "x": 7, "y": 2},
{"matrix": [2, 7], "x": 8, "y": 2},
{"matrix": [2, 8], "x": 9, "y": 2},
{"matrix": [2, 9], "x": 10, "y": 2},
{"matrix": [2, 10], "x": 11, "y": 2},
{"matrix": [2, 11], "x": 12, "y": 2},
{"matrix": [2, 12], "x": 13, "y": 2},
{"matrix": [2, 13], "x": 14, "y": 2, "w": 2.25},
{"matrix": [2, 15], "x": 16.5, "y": 2},
{"matrix": [3, 0], "x": 0, "y": 3},
{"matrix": [3, 1], "x": 1.25, "y": 3, "w": 2.25},
{"matrix": [3, 3], "x": 3.5, "y": 3},
{"matrix": [3, 4], "x": 4.5, "y": 3},
{"matrix": [3, 5], "x": 5.5, "y": 3},
{"matrix": [3, 6], "x": 6.5, "y": 3},
{"matrix": [3, 7], "x": 7.5, "y": 3},
{"matrix": [3, 8], "x": 8.5, "y": 3},
{"matrix": [3, 9], "x": 9.5, "y": 3},
{"matrix": [3, 10], "x": 10.5, "y": 3},
{"matrix": [3, 11], "x": 11.5, "y": 3},
{"matrix": [3, 12], "x": 12.5, "y": 3},
{"matrix": [3, 13], "x": 13.5, "y": 3, "w": 1.75},
{"matrix": [3, 14], "x": 15.25, "y": 3},
{"matrix": [3, 15], "x": 16.5, "y": 3},
{"matrix": [4, 0], "x": 0, "y": 4},
{"matrix": [4, 1], "x": 1.25, "y": 4, "w": 1.25},
{"matrix": [4, 2], "x": 2.5, "y": 4, "w": 1.25},
{"matrix": [4, 4], "x": 3.75, "y": 4, "w": 1.25},
{"matrix": [4, 8], "x": 5, "y": 4, "w": 6.25},
{"matrix": [4, 11], "x": 11.25, "y": 4, "w": 1.25},
{"matrix": [4, 12], "x": 12.5, "y": 4, "w": 1.25},
{"matrix": [4, 13], "x": 13.75, "y": 4, "w": 1.25},
{"matrix": [4, 14], "x": 15, "y": 4, "w": 1.25},
{"matrix": [4, 15], "x": 16.5, "y": 4}
]
}
}
}
28 changes: 28 additions & 0 deletions keyboards/lxxt/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
/* Copyright 2023 DeskDaily
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

[0] = LAYOUT(
KC_TRNS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_TRNS,
KC_TRNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_TRNS,
KC_TRNS, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_TRNS,
KC_TRNS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_LSFT, KC_TRNS,
KC_TRNS, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_RGUI, KC_APP, KC_LCTL, KC_TRNS
),
};

waffle87 marked this conversation as resolved.
Show resolved Hide resolved
Empty file.
60 changes: 60 additions & 0 deletions keyboards/lxxt/keymaps/via/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
/* Copyright 2023 DeskDaily
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include QMK_KEYBOARD_H

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {

[0] = LAYOUT(
KC_TRNS, KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_MINS, KC_EQL, KC_BSPC, KC_BSPC, KC_TRNS,
KC_TRNS, KC_TAB, KC_Q, KC_W, KC_E, KC_R, KC_T, KC_Y, KC_U, KC_I, KC_O, KC_P, KC_LBRC, KC_RBRC, KC_BSLS, KC_TRNS,
KC_TRNS, KC_CAPS, KC_A, KC_S, KC_D, KC_F, KC_G, KC_H, KC_J, KC_K, KC_L, KC_SCLN, KC_QUOT, KC_ENT, KC_TRNS,
KC_TRNS, KC_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM, KC_DOT, KC_SLSH, KC_LSFT, KC_LSFT, KC_TRNS,
KC_TRNS, KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_LALT, KC_RGUI, KC_APP, KC_LCTL, KC_TRNS
),

[1] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),

[2] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),

[3] = LAYOUT(
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS
),
};

#if defined(ENCODER_MAP_ENABLE)
const uint16_t PROGMEM encoder_map[][NUM_ENCODERS][2] = {
[0] = { ENCODER_CCW_CW(KC_VOLD, KC_VOLU), ENCODER_CCW_CW(KC_BRID, KC_BRIU) },
[1] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[2] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
[3] = { ENCODER_CCW_CW(KC_TRNS, KC_TRNS), ENCODER_CCW_CW(KC_TRNS, KC_TRNS) },
};
#endif
3 changes: 3 additions & 0 deletions keyboards/lxxt/keymaps/via/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
VIA_ENABLE = yes
LTO_ENABLE = yes
ENCODER_MAP_ENABLE = yes
42 changes: 42 additions & 0 deletions keyboards/lxxt/lxxt.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
/* Copyright 2023 DeskDaily
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*/


#include "quantum.h"

#if defined(ENCODER_ENABLE)

bool encoder_update_kb(uint8_t index, bool clockwise) {
if (!encoder_update_kb(index, clockwise)) {
return false; /* Don't process further events if user function exists and returns false */
}
if (index == 0) { /* First encoder */
if (clockwise) {
tap_code_delay(KC_VOLU, 10);
} else {
tap_code_delay(KC_VOLD, 10);
}
} else if (index == 1) { /* Second encoder */
if (clockwise) {
tap_code_delay(KC_BRIU, 10);
} else {
tap_code_delay(KC_BRID, 10);
}
}
return true;
}

#endif
24 changes: 24 additions & 0 deletions keyboards/lxxt/readme.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# LXXT

A 60% pcb with extra columns on the left and right part (Extended 60%)

* Keyboard Maintainer: [DeskDaily](https://github.com/DeskDaily)
* Hardware Supported: RP2040

Make example for this keyboard (after setting up your build environment):

make lxxt:default

Flashing example for this keyboard:

make lxxt:default:flash

## Bootloader

Enter the bootloader in 3 ways:

* **Bootmagic reset**: Hold down the key at (0,0) in the matrix (usually the upper left key/esc) and plug in the keyboard
* **Physical reset button**: Briefly press the button on the back of the PCB - some may have pads you must short instead
* **Keycode in layout**: Press the key mapped to `QK_BOOT` if it is available

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).
3 changes: 3 additions & 0 deletions keyboards/lxxt/rules.mk
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
ENCODER_ENABLE = yes

WS2812_DRIVER = vendor