diff options
| author | Drashna Jaelre <drashna@live.com> | 2021-09-29 09:30:25 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-09-29 09:30:25 -0700 |
| commit | 0338481090f4c2330a7fd237416cf66ba2bd4d22 (patch) | |
| tree | 8c602d86d343c33794628d0d68c6bbee3b614de8 | |
| parent | 363eb645fc524efecc63b723a4b6d92fce29beaa (diff) | |
| download | qmk_firmware-0338481090f4c2330a7fd237416cf66ba2bd4d22.tar.gz qmk_firmware-0338481090f4c2330a7fd237416cf66ba2bd4d22.zip | |
[Keyboard] Updates for Tractyl Manuform config (#14641)
12 files changed, 261 insertions, 10 deletions
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/5x6_right.h b/keyboards/handwired/tractyl_manuform/5x6_right/5x6_right.h index 24aac66ae..e481e7841 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/5x6_right.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/5x6_right.h | |||
| @@ -19,6 +19,8 @@ | |||
| 19 | #include "tractyl_manuform.h" | 19 | #include "tractyl_manuform.h" |
| 20 | #if defined(KEYBOARD_handwired_tractyl_manuform_5x6_right_f411) | 20 | #if defined(KEYBOARD_handwired_tractyl_manuform_5x6_right_f411) |
| 21 | # include "f411.h" | 21 | # include "f411.h" |
| 22 | #elif defined(KEYBOARD_handwired_tractyl_manuform_5x6_right_f303) | ||
| 23 | # include "f303.h" | ||
| 22 | #elif defined(KEYBOARD_handwired_tractyl_manuform_5x6_right_teensy2pp) | 24 | #elif defined(KEYBOARD_handwired_tractyl_manuform_5x6_right_teensy2pp) |
| 23 | # include "teensy2pp.h" | 25 | # include "teensy2pp.h" |
| 24 | #endif | 26 | #endif |
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f303/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/f303/config.h new file mode 100644 index 000000000..f9a44587b --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f303/config.h | |||
| @@ -0,0 +1,104 @@ | |||
| 1 | /* | ||
| 2 | Copyright 2012 Jun Wako <wakojun@gmail.com> | ||
| 3 | Copyright 2015 Jack Humbert | ||
| 4 | |||
| 5 | This program is free software: you can redistribute it and/or modify | ||
| 6 | it under the terms of the GNU General Public License as published by | ||
| 7 | the Free Software Foundation, either version 2 of the License, or | ||
| 8 | (at your option) any later version. | ||
| 9 | |||
| 10 | This program is distributed in the hope that it will be useful, | ||
| 11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 13 | GNU General Public License for more details. | ||
| 14 | |||
| 15 | You should have received a copy of the GNU General Public License | ||
| 16 | along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 17 | */ | ||
| 18 | |||
| 19 | #pragma once | ||
| 20 | |||
| 21 | #define PRODUCT Tractyl Manuform(5x6) Proton C | ||
| 22 | |||
| 23 | // wiring of each half | ||
| 24 | #define MATRIX_COL_PINS \ | ||
| 25 | { B0, B1, B2, B3, B4, B5 } | ||
| 26 | #define MATRIX_ROW_PINS \ | ||
| 27 | { B10, B11, B12, A14, A13, A15 } | ||
| 28 | |||
| 29 | #define UNUSED_PINS \ | ||
| 30 | { A0, A2, A7, A8 } | ||
| 31 | // B2 used for BOOT1, has internal pull down? | ||
| 32 | // A9 has internal pull-down | ||
| 33 | // A11 and A12 are used for USB sense. DO NOT USE. | ||
| 34 | |||
| 35 | #define DIODE_DIRECTION COL2ROW | ||
| 36 | |||
| 37 | // #define USB_VBUS_PIN B10 | ||
| 38 | #define SPLIT_HAND_PIN C14 // high = left, low = right | ||
| 39 | |||
| 40 | // WS2812 RGB LED strip input and number of LEDs | ||
| 41 | #define RGB_DI_PIN A6 | ||
| 42 | #define WS2812_PWM_DRIVER PWMD3 // default: PWMD2 | ||
| 43 | #define WS2812_PWM_CHANNEL 1 // default: 2 | ||
| 44 | #define WS2812_PWM_PAL_MODE 2 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 2 | ||
| 45 | //#define WS2812_PWM_COMPLEMENTARY_OUTPUT // Define for a complementary timer output (TIMx_CHyN); omit for a normal timer output (TIMx_CHy). | ||
| 46 | // #define WS2812_DMA_STREAM STM32_DMA1_STREAM3 // DMA Stream for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. | ||
| 47 | #define WS2812_DMA_CHANNEL 3 // DMA Channel for TIMx_UP, see the respective reference manual for the appropriate values for your MCU. | ||
| 48 | |||
| 49 | #define RGBLED_NUM 20 | ||
| 50 | #define RGBLIGHT_SPLIT | ||
| 51 | #define RGBLED_SPLIT \ | ||
| 52 | { 10, 10 } | ||
| 53 | |||
| 54 | #define DEBUG_LED_PIN C13 | ||
| 55 | |||
| 56 | /* Audio config */ | ||
| 57 | #define AUDIO_PIN A5 | ||
| 58 | #define AUDIO_PIN_ALT A4 | ||
| 59 | #define AUDIO_PIN_ALT_AS_NEGATIVE | ||
| 60 | |||
| 61 | /* serial.c configuration for split keyboard */ | ||
| 62 | #define SERIAL_USART_FULL_DUPLEX // Enable full duplex operation mode. | ||
| 63 | #define SERIAL_USART_TX_PIN A9 | ||
| 64 | #define SERIAL_USART_RX_PIN A10 | ||
| 65 | #define SERIAL_USART_DRIVER SD1 | ||
| 66 | #define SERIAL_USART_TX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7 | ||
| 67 | #define SERIAL_USART_RX_PAL_MODE 7 // Pin "alternate function", see the respective datasheet for the appropriate values for your MCU. default: 7 | ||
| 68 | #define SERIAL_USART_TIMEOUT 100 // USART driver timeout. default 100 | ||
| 69 | |||
| 70 | /* i2c config for oleds */ | ||
| 71 | #define I2C_DRIVER I2CD1 | ||
| 72 | #define I2C1_SCL_PIN B6 | ||
| 73 | #define I2C1_SDA_PIN B7 | ||
| 74 | #define I2C1_SCL_PAL_MODE 4 | ||
| 75 | #define I2C1_SDA_PAL_MODE 4 | ||
| 76 | #define I2C1_CLOCK_SPEED 400000 | ||
| 77 | |||
| 78 | /* encoder config */ | ||
| 79 | #define ENCODERS_PAD_A \ | ||
| 80 | { A7 } | ||
| 81 | #define ENCODERS_PAD_B \ | ||
| 82 | { A8 } | ||
| 83 | |||
| 84 | /* spi config for eeprom and pmw3360 sensor */ | ||
| 85 | #define SPI_DRIVER SPID2 | ||
| 86 | #define SPI_SCK_PIN B13 | ||
| 87 | #define SPI_SCK_PAL_MODE 5 | ||
| 88 | #define SPI_MOSI_PIN B15 | ||
| 89 | #define SPI_MOSI_PAL_MODE 5 | ||
| 90 | #define SPI_MISO_PIN B14 | ||
| 91 | #define SPI_MISO_PAL_MODE 5 | ||
| 92 | |||
| 93 | /* eeprom config */ | ||
| 94 | #define EXTERNAL_EEPROM_SPI_SLAVE_SELECT_PIN B8 | ||
| 95 | #define EXTERNAL_EEPROM_SPI_CLOCK_DIVISOR 8 | ||
| 96 | // #define EXTERNAL_EEPROM_BYTE_COUNT 8196 | ||
| 97 | // #define EXTERNAL_EEPROM_PAGE_SIZE 32 | ||
| 98 | // #define EXTERNAL_EEPROM_ADDRESS_SIZE 2 | ||
| 99 | // #define DEBUG_EEPROM_OUTPUT | ||
| 100 | |||
| 101 | /* pmw3360 config */ | ||
| 102 | #define PMW3360_CS_PIN B9 | ||
| 103 | #define PMW3360_SPI_MODE 3 | ||
| 104 | #define PMW3360_SPI_DIVISOR 8 | ||
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f303/f303.c b/keyboards/handwired/tractyl_manuform/5x6_right/f303/f303.c new file mode 100644 index 000000000..d09480193 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f303/f303.c | |||
| @@ -0,0 +1,17 @@ | |||
| 1 | /* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com> | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | |||
| 17 | #include "f303.h" | ||
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f303/f303.h b/keyboards/handwired/tractyl_manuform/5x6_right/f303/f303.h new file mode 100644 index 000000000..525b0378b --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f303/f303.h | |||
| @@ -0,0 +1,19 @@ | |||
| 1 | /* Copyright 2020 Christopher Courtney, aka Drashna Jael're (@drashna) <drashna@live.com> | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 2 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <http://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | |||
| 17 | #pragma once | ||
| 18 | |||
| 19 | #include "5x6_right.h" | ||
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f303/halconf.h b/keyboards/handwired/tractyl_manuform/5x6_right/f303/halconf.h new file mode 100644 index 000000000..62f56e4d2 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f303/halconf.h | |||
| @@ -0,0 +1,27 @@ | |||
| 1 | /* Copyright 2020 Nick Brassel (tzarc) | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 3 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <https://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | #pragma once | ||
| 17 | |||
| 18 | #define HAL_USE_PWM TRUE | ||
| 19 | #define HAL_USE_SERIAL TRUE | ||
| 20 | #define HAL_USE_I2C TRUE | ||
| 21 | #define HAL_USE_SPI TRUE | ||
| 22 | #define HAL_USE_GPT TRUE | ||
| 23 | #define HAL_USE_DAC TRUE | ||
| 24 | #define SPI_USE_WAIT TRUE | ||
| 25 | #define SPI_SELECT_MODE SPI_SELECT_MODE_PAD | ||
| 26 | |||
| 27 | #include_next <halconf.h> | ||
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f303/mcuconf.h b/keyboards/handwired/tractyl_manuform/5x6_right/f303/mcuconf.h new file mode 100644 index 000000000..5525a077d --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f303/mcuconf.h | |||
| @@ -0,0 +1,40 @@ | |||
| 1 | /* Copyright 2020 Nick Brassel (tzarc) | ||
| 2 | * | ||
| 3 | * This program is free software: you can redistribute it and/or modify | ||
| 4 | * it under the terms of the GNU General Public License as published by | ||
| 5 | * the Free Software Foundation, either version 3 of the License, or | ||
| 6 | * (at your option) any later version. | ||
| 7 | * | ||
| 8 | * This program is distributed in the hope that it will be useful, | ||
| 9 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
| 10 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
| 11 | * GNU General Public License for more details. | ||
| 12 | * | ||
| 13 | * You should have received a copy of the GNU General Public License | ||
| 14 | * along with this program. If not, see <https://www.gnu.org/licenses/>. | ||
| 15 | */ | ||
| 16 | |||
| 17 | #pragma once | ||
| 18 | |||
| 19 | #include_next "mcuconf.h" | ||
| 20 | |||
| 21 | #undef STM32_I2C_USE_I2C1 | ||
| 22 | #define STM32_I2C_USE_I2C1 TRUE | ||
| 23 | |||
| 24 | #undef STM32_SPI_USE_SPI2 | ||
| 25 | #define STM32_SPI_USE_SPI2 TRUE | ||
| 26 | |||
| 27 | #undef STM32_SERIAL_USE_USART1 | ||
| 28 | #define STM32_SERIAL_USE_USART1 TRUE | ||
| 29 | |||
| 30 | #undef STM32_DAC_USE_DAC1_CH1 | ||
| 31 | #define STM32_DAC_USE_DAC1_CH1 TRUE | ||
| 32 | |||
| 33 | #undef STM32_DAC_USE_DAC1_CH2 | ||
| 34 | #define STM32_DAC_USE_DAC1_CH2 TRUE | ||
| 35 | |||
| 36 | #undef STM32_GPT_USE_TIM6 | ||
| 37 | #define STM32_GPT_USE_TIM6 TRUE | ||
| 38 | |||
| 39 | #undef STM32_PWM_USE_TIM3 | ||
| 40 | #define STM32_PWM_USE_TIM3 TRUE | ||
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f303/readme.md b/keyboards/handwired/tractyl_manuform/5x6_right/f303/readme.md new file mode 100644 index 000000000..79a4a8ca0 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f303/readme.md | |||
| @@ -0,0 +1,24 @@ | |||
| 1 | # Drashna's Blackpill Tractyl Manuform (5x6) with a right side trackball | ||
| 2 | |||
| 3 | |||
| 4 | * Split Hand Pin, using PC14 | ||
| 5 | * Full Duplex Serial/USART using PA9 and PA10 on USART1 | ||
| 6 | * DAC Audio using PA4 and PA5 | ||
| 7 | * PWM RGB using PA6 TIM3 | ||
| 8 | * pmw3360 sensor using PA5-PA7 on SPI2, with B as CS pin | ||
| 9 | * 8KB SPI EEPROM chip sharing PB13-PB15 on SPI1 with PB9 as CS pin | ||
| 10 | * Encoder using PA7 and PA8 | ||
| 11 | * SSD1306 OLED display (128x64) using PB6 and PB7 on I2C1 | ||
| 12 | |||
| 13 | * Keyboard Maintainer: [Drashna Jael're](https://github.com/drashna) | ||
| 14 | * Hardware Supported: [Design files](https://gitlab.com/keyboards1/dm_r_track/-/tree/master/boolean), [WeAct BlackPill (F411)](https://github.com/WeActTC/MiniSTM32F4x1), [PMW3360 Optical Sensor](https://www.tindie.com/products/jkicklighter/pmw3360-motion-sensor/) | ||
| 15 | |||
| 16 | Make example for this keyboard (after setting up your build environment): | ||
| 17 | |||
| 18 | make handwired/tractyl_manuform/5x6_right/f411:default | ||
| 19 | |||
| 20 | Flashing example for this keyboard: | ||
| 21 | |||
| 22 | make handwired/tractyl_manuform/5x6_right/f411:default:flash | ||
| 23 | |||
| 24 | 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). | ||
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f303/rules.mk b/keyboards/handwired/tractyl_manuform/5x6_right/f303/rules.mk new file mode 100644 index 000000000..622d22704 --- /dev/null +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f303/rules.mk | |||
| @@ -0,0 +1,13 @@ | |||
| 1 | # MCU name | ||
| 2 | MCU = STM32F303 | ||
| 3 | |||
| 4 | # Bootloader selection | ||
| 5 | BOOTLOADER = stm32-dfu | ||
| 6 | |||
| 7 | # KEYBOARD_SHARED_EP = yes | ||
| 8 | CONSOLE_ENABLE = yes | ||
| 9 | |||
| 10 | EEPROM_DRIVER = spi | ||
| 11 | WS2812_DRIVER = pwm | ||
| 12 | SERIAL_DRIVER = usart | ||
| 13 | AUDIO_DRIVER = dac_additive | ||
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h index 0e5b72c56..7fb97cd2a 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/config.h | |||
| @@ -28,9 +28,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 28 | 28 | ||
| 29 | #define UNUSED_PINS \ | 29 | #define UNUSED_PINS \ |
| 30 | { C15 } | 30 | { C15 } |
| 31 | // B2 used for BOOT1, has internal pull down? | ||
| 32 | // A9 has internal pull-down | ||
| 33 | // A11 and A12 are used for USB sense. DO NOT USE. | ||
| 34 | 31 | ||
| 35 | #define DIODE_DIRECTION COL2ROW | 32 | #define DIODE_DIRECTION COL2ROW |
| 36 | 33 | ||
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c b/keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c index 240219f1d..394c597b8 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/f411.c | |||
| @@ -23,3 +23,9 @@ void matrix_scan_sub_kb(void) { | |||
| 23 | reset_keyboard(); | 23 | reset_keyboard(); |
| 24 | } | 24 | } |
| 25 | } | 25 | } |
| 26 | |||
| 27 | bool usb_vbus_state(void) { | ||
| 28 | setPinInputLow(USB_VBUS_PIN); | ||
| 29 | wait_us(5); | ||
| 30 | return readPin(USB_VBUS_PIN); | ||
| 31 | } | ||
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/f411/halconf.h b/keyboards/handwired/tractyl_manuform/5x6_right/f411/halconf.h index fb835e8ee..39644726c 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/f411/halconf.h +++ b/keyboards/handwired/tractyl_manuform/5x6_right/f411/halconf.h | |||
| @@ -15,10 +15,12 @@ | |||
| 15 | */ | 15 | */ |
| 16 | #pragma once | 16 | #pragma once |
| 17 | 17 | ||
| 18 | #define HAL_USE_PWM TRUE | 18 | #define HAL_USE_PWM TRUE |
| 19 | #define HAL_USE_SERIAL TRUE | 19 | #define HAL_USE_SERIAL TRUE |
| 20 | #define HAL_USE_I2C TRUE | 20 | #define HAL_USE_I2C TRUE |
| 21 | #define HAL_USE_SPI TRUE | 21 | #define HAL_USE_SPI TRUE |
| 22 | #define HAL_USE_GPT TRUE | 22 | #define SPI_USE_WAIT TRUE |
| 23 | #define SPI_SELECT_MODE SPI_SELECT_MODE_PAD | ||
| 24 | #define HAL_USE_GPT TRUE | ||
| 23 | 25 | ||
| 24 | #include_next <halconf.h> | 26 | #include_next <halconf.h> |
diff --git a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c index 81de8b289..67842c26d 100644 --- a/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c +++ b/keyboards/handwired/tractyl_manuform/5x6_right/keymaps/drashna/keymap.c | |||
| @@ -29,13 +29,13 @@ bool enable_acceleration = false; | |||
| 29 | K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ | 29 | K21, K22, K23, K24, K25, K26, K27, K28, K29, K2A \ |
| 30 | ) \ | 30 | ) \ |
| 31 | LAYOUT_5x6_right_wrapper( \ | 31 | LAYOUT_5x6_right_wrapper( \ |
| 32 | KC_ESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, UC_IRNY, \ | 32 | KC_ESC, ________________NUMBER_LEFT________________, ________________NUMBER_RIGHT_______________, UC_CLUE, \ |
| 33 | SH_TT, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, SH_TT, \ | 33 | SH_TT, K01, K02, K03, K04, K05, K06, K07, K08, K09, K0A, SH_TT, \ |
| 34 | LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \ | 34 | LALT_T(KC_TAB), K11, K12, K13, K14, K15, K16, K17, K18, K19, K1A, RALT_T(K1B), \ |
| 35 | OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ | 35 | OS_LSFT, CTL_T(K21), K22, K23, K24, K25, K26, K27, K28, K29, RCTL_T(K2A), OS_RSFT, \ |
| 36 | OS_LALT, OS_LGUI, OS_RGUI, OS_RALT, \ | 36 | OS_LALT, OS_LGUI, OS_RGUI, OS_RALT, \ |
| 37 | KC_MUTE, KC_GRV, KC_BTN3, \ | 37 | KC_MUTE, KC_GRV, KC_BTN3, \ |
| 38 | KC_SPC, OS_LGUI, KC_ENT, \ | 38 | KC_SPC, UC_IRNY, KC_ENT, \ |
| 39 | BK_LWER, TT(_MOUSE), TT(_MOUSE), DL_RAIS \ | 39 | BK_LWER, TT(_MOUSE), TT(_MOUSE), DL_RAIS \ |
| 40 | ) | 40 | ) |
| 41 | #define LAYOUT_base_wrapper(...) LAYOUT_5x6_right_base(__VA_ARGS__) | 41 | #define LAYOUT_base_wrapper(...) LAYOUT_5x6_right_base(__VA_ARGS__) |
