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

added SQUARE.X keyboard #10066

Merged
merged 13 commits into from
Sep 11, 2020
72 changes: 72 additions & 0 deletions keyboards/inett_studio/sqx/hotswap/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
/**
yulei marked this conversation as resolved.
Show resolved Hide resolved
* config.h
*
Copyright 2020 astro <[email protected]>

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

#include "config_common.h"

/* USB Device descriptor parameter */
#define VENDOR_ID 0x694E //'iN'
#define PRODUCT_ID 0x5336 //'S6'
#define DEVICE_VER 0x0001
#define MANUFACTURER iNETT Studio
#define PRODUCT SQUARE.X

/* key matrix size */
#define MATRIX_ROWS 5
#define MATRIX_COLS 14
#define MATRIX_ROW_PINS { F0, F1, F4, B7, D6}
#define MATRIX_COL_PINS { C7, C6, B6, B5, B4, F7, F6, F5, E6, B0, D2, D4, D5, D3 }
#define UNUSED_PINS
#define DIODE_DIRECTION ROW2COL

/* Debounce reduces chatter (unintended double-presses) - set 0 if debouncing is not needed */
#define DEBOUNCE 5

/*
* Feature disable options
* These options are also useful to firmware size reduction.
*/

/* disable debug print */
//#define NO_DEBUG

/* disable print */
//#define NO_PRINT


//rgb light setting
#define RGBLIGHT_LIMIT_VAL 128
#define RGBLED_NUM 18
#define RGB_DI_PIN D7
#define RGBLIGHT_ANIMATIONS
#define RGBLIGHT_HUE_STEP 8
#define RGBLIGHT_SAT_STEP 8
#define RGBLIGHT_VAL_STEP 8

//rgb matrix setting
#define DRIVER_1_LED_TOTAL 33
#define DRIVER_2_LED_TOTAL 31
#define DRIVER_ADDR_1 0b1110100
#define DRIVER_ADDR_2 0b1110111
#define DRIVER_COUNT 2
#define DRIVER_LED_TOTAL (DRIVER_1_LED_TOTAL + DRIVER_2_LED_TOTAL)

#if defined(RGB_MATRIX_ENABLE) && defined(RGBLIGHT_ENABLE)
#define RGB_MATRIX_DISABLE_KEYCODES
#endif
191 changes: 191 additions & 0 deletions keyboards/inett_studio/sqx/hotswap/hotswap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,191 @@
/**
yulei marked this conversation as resolved.
Show resolved Hide resolved
* @file hotswap.c
*
Copyright 2020 astro <[email protected]>

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 "hotswap.h"

#ifdef RGB_MATRIX_ENABLE
const is31_led g_is31_leds[DRIVER_LED_TOTAL] = {
/* Refer to IS31 manual for these locations
* driver
* | R location
* | | G location
* | | | B location
* | | | | */
// left CA
{0, C1_1, C3_2, C4_2},
{0, C1_2, C2_2, C4_3},
{0, C1_3, C2_3, C3_3},
{0, C1_4, C2_4, C3_4},
{0, C1_5, C2_5, C3_5},
{0, C1_6, C2_6, C3_6},
{0, C1_7, C2_7, C3_7},
{0, C1_8, C2_8, C3_8},

//{0, C5_1, C4_1, C6_1},
//{0, C5_8, C4_8, C6_8},

{0, C9_1, C8_1, C7_1},
{0, C9_2, C8_2, C7_2},
//{0, C9_3, C8_3, C7_3},
{0, C9_4, C8_4, C7_4},
{0, C9_5, C8_5, C7_5},
{0, C9_6, C8_6, C7_6},
{0, C9_7, C8_7, C6_6},
{0, C9_8, C7_7, C6_7},
// left CB
{0, C1_9, C3_10, C4_10},
{0, C1_10, C2_10, C4_11},
{0, C1_11, C2_11, C3_11},
{0, C1_12, C2_12, C3_12},
{0, C1_13, C2_13, C3_13},
{0, C1_14, C2_14, C3_14},
{0, C1_15, C2_15, C3_15},
{0, C1_16, C2_16, C3_16},

{0, C5_9, C4_9, C6_9},
{0, C5_16, C4_16, C6_16},

{0, C9_9, C8_9, C7_9},
{0, C9_10, C8_10, C7_10},
{0, C9_11, C8_11, C7_11},
{0, C9_12, C8_12, C7_12},
{0, C9_13, C8_13, C7_13},
{0, C9_14, C8_14, C7_14},
{0, C9_15, C8_15, C6_14},
{0, C9_16, C7_15, C6_15},

// right CA
{1, C1_1, C3_2, C4_2},
{1, C1_2, C2_2, C4_3},
{1, C1_3, C2_3, C3_3},
{1, C1_4, C2_4, C3_4},
{1, C1_5, C2_5, C3_5},
{1, C1_6, C2_6, C3_6},
{1, C1_7, C2_7, C3_7},
{1, C1_8, C2_8, C3_8},

//{1, C5_1, C4_1, C6_1},
//{1, C5_8, C4_8, C6_8},

{1, C9_1, C8_1, C7_1},
{1, C9_2, C8_2, C7_2},
{1, C9_3, C8_3, C7_3},
{1, C9_4, C8_4, C7_4},
{1, C9_5, C8_5, C7_5},
{1, C9_6, C8_6, C7_6},
{1, C9_7, C8_7, C6_6},
{1, C9_8, C7_7, C6_7},
// right CB
{1, C1_9, C3_10, C4_10},
{1, C1_10, C2_10, C4_11},
{1, C1_11, C2_11, C3_11},
{1, C1_12, C2_12, C3_12},
{1, C1_13, C2_13, C3_13},
//{1, C1_14, C2_14, C3_14},
{1, C1_15, C2_15, C3_15},
{1, C1_16, C2_16, C3_16},

//{1, C5_9, C4_9, C6_9},
//{1, C5_16, C4_16, C6_16},

{1, C9_9, C8_9, C7_9},
{1, C9_10, C8_10, C7_10},
{1, C9_11, C8_11, C7_11},
{1, C9_12, C8_12, C7_12},
{1, C9_13, C8_13, C7_13},
{1, C9_14, C8_14, C7_14},
{1, C9_15, C8_15, C6_14},
{1, C9_16, C7_15, C6_15},
};

led_config_t g_led_config = {
{
{ 18, 19, 20, 21, 22, 23, 24, 16, 17, 36, 37, 38, 39, 40},
{ 26, 27, 28, 29, 30, 31, 25, 48, 41, 42, 43, 44, 45, 46},
{ 8, 7, 0, 32, 33, 34, 35, 49, 50, 51, 52, 53, NO_LED, 47},
{ 9, NO_LED, 10, 1, 2, 3, 4, 5, 56, 55, 57, 58, 59, 54},
{ 14, 13, 12, 11, NO_LED, NO_LED, 6, 15, NO_LED, NO_LED, 60, 61, 62, 63},
},
{
{ 48, 32},{ 48, 48},{ 64, 48},{ 80, 48},{ 96, 48},{112, 48},{112, 64},{ 32, 32},
{ 16, 32},{ 16, 48}, { 32, 48},{ 64, 64},{ 40, 64},{ 20, 64},{ 0, 64},

{ 0, 0},{ 16, 0},{ 32, 0},{ 48, 0},{ 64, 0},{ 80, 0},{ 96, 0},{ 96, 16},
{ 0, 16},{ 16, 16},
{ 32, 16},{ 48, 16},{ 64, 16},{ 80, 16},{ 64, 32},{ 80, 32},{ 96, 32},{112, 32},

{112, 0},{128, 0},{144, 0},{160, 0},{176, 0},{192, 0},{208, 0},{224, 0},
{128, 16},{144, 16},{160, 16},{176, 16},{192, 16},{216, 16},{216, 32},{112, 16},

{128, 32},{144, 32},{160, 32},{176, 32},{192, 32}, {224, 48},{144, 48},
{128, 48},{160, 48},{176, 48},{192, 48},{160, 64},{180, 64},{200, 64},{224, 64}
},
{
4, 4, 4, 4, 4, 4, 4, 1,
1, 1, 4, 1, 1, 1, 1,

1, 4, 4, 4, 4, 4, 4, 4,
1, 4,
4, 4, 4, 4, 4, 4, 4, 4,

4, 4, 4, 4, 4, 4, 1, 1,
4, 4, 4, 4, 4, 1, 1, 4,

4, 4, 4, 4, 4, 1, 4,
4, 4, 4, 1, 1, 1, 1, 1,
}
};

#endif //RGB_MATRIX_ENABLE

bool process_record_kb(uint16_t keycode, keyrecord_t *record) {
if (record->event.pressed) {
switch(keycode) {
#if defined(RGB_MATRIX_DISABLE_KEYCODES)
case RGB_MATRIX_TOGGLE: // toggle rgb matrix
rgb_matrix_toggle();
return false;
case RGB_MATRIX_STEP:
rgb_matrix_step();
return false;
case RGB_MATRIX_INC_HUE:
rgb_matrix_increase_hue();
return false;
case RGB_MATRIX_DEC_HUE:
rgb_matrix_decrease_hue();
return false;
case RGB_MATRIX_INC_SAT:
rgb_matrix_increase_sat();
return false;
case RGB_MATRIX_DEC_SAT:
rgb_matrix_decrease_sat();
return false;
case RGB_MATRIX_INC_VAL:
rgb_matrix_increase_val();
return false;
case RGB_MATRIX_DEC_VAL:
rgb_matrix_decrease_val();
return false;
#endif
default:
break;
}
}
return true;
}
66 changes: 66 additions & 0 deletions keyboards/inett_studio/sqx/hotswap/hotswap.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
/**
yulei marked this conversation as resolved.
Show resolved Hide resolved
* @file hotswap.h
*
Copyright 2020 astro <[email protected]>

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

#include "quantum.h"

// This a shortcut to help you visually see your layout.
// The first section contains all of the arguements
// The second converts the arguments into a two-dimensional array
#define LAYOUT_60_tsangan_hhkb( \
k00, k01, k02, k03, k04, k05, k06, k07, k08, k09, k0a, k0b, k0c, k0d, k0e, \
k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e, \
k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, k2e, \
k30, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d, \
k40, k42, k43, k47, k49, k4a, k4b \
) \
{ \
{k00, k01, k02, k03, k04, k05, k06, k08, k09, k0a, k0b, k0c, k0d, k0e}, \
{k10, k11, k12, k13, k14, k15, k16, k17, k18, k19, k1a, k1b, k1c, k1e}, \
{k20, k22, k23, k24, k25, k26, k27, k28, k29, k2a, k2b, k2c, KC_NO, k2e}, \
{k30, KC_NO, k32, k33, k34, k35, k36, k37, k38, k39, k3a, k3b, k3c, k3d}, \
{k40, k42, k43, KC_NO, KC_NO, KC_NO, k47, k07, KC_NO, KC_NO, KC_NO, k49, k4a, k4b} \
}

#if defined(RGB_MATRIX_DISABLE_KEYCODES)
# ifndef RGB_MATRIX_TOGGLE
# define RGB_MATRIX_TOGGLE KC_F16
# endif
# ifndef RGB_MATRIX_STEP
# define RGB_MATRIX_STEP KC_F17
# endif
# ifndef RGB_MATRIX_INC_HUE
# define RGB_MATRIX_INC_HUE KC_F18
# endif
# ifndef RGB_MATRIX_DEC_HUE
# define RGB_MATRIX_DEC_HUE KC_F19
# endif
# ifndef RGB_MATRIX_INC_SAT
# define RGB_MATRIX_INC_SAT KC_F20
# endif
# ifndef RGB_MATRIX_DEC_SAT
# define RGB_MATRIX_DEC_SAT KC_F21
# endif
# ifndef RGB_MATRIX_INC_VAL
# define RGB_MATRIX_INC_VAL KC_F22
# endif
# ifndef RGB_MATRIX_DEC_VAL
# define RGB_MATRIX_DEC_VAL KC_F23
# endif
#endif
12 changes: 12 additions & 0 deletions keyboards/inett_studio/sqx/hotswap/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
{
"keyboard_name": "sqx",
"url": "",
"maintainer": "qmk",
"width": 15,
"height": 5,
"layouts": {
"LAYOUT_60_tsangan_hhkb": {
"layout": [{"x":0, "y":0}, {"x":1, "y":0}, {"x":2, "y":0}, {"x":3, "y":0}, {"x":4, "y":0}, {"x":5, "y":0}, {"x":6, "y":0}, {"x":7, "y":0}, {"x":8, "y":0}, {"x":9, "y":0}, {"x":10, "y":0}, {"x":11, "y":0}, {"x":12, "y":0}, {"x":13, "y":0}, {"x":14, "y":0}, {"x":0, "y":1, "w":1.5}, {"x":1.5, "y":1}, {"x":2.5, "y":1}, {"x":3.5, "y":1}, {"x":4.5, "y":1}, {"x":5.5, "y":1}, {"x":6.5, "y":1}, {"x":7.5, "y":1}, {"x":8.5, "y":1}, {"x":9.5, "y":1}, {"x":10.5, "y":1}, {"x":11.5, "y":1}, {"x":12.5, "y":1}, {"x":13.5, "y":1, "w":1.5}, {"x":0, "y":2, "w":1.75}, {"x":1.75, "y":2}, {"x":2.75, "y":2}, {"x":3.75, "y":2}, {"x":4.75, "y":2}, {"x":5.75, "y":2}, {"x":6.75, "y":2}, {"x":7.75, "y":2}, {"x":8.75, "y":2}, {"x":9.75, "y":2}, {"x":10.75, "y":2}, {"x":11.75, "y":2}, {"x":12.75, "y":2, "w":2.25}, {"x":0, "y":3, "w":2.25}, {"x":2.25, "y":3}, {"x":3.25, "y":3}, {"x":4.25, "y":3}, {"x":5.25, "y":3}, {"x":6.25, "y":3}, {"x":7.25, "y":3}, {"x":8.25, "y":3}, {"x":9.25, "y":3}, {"x":10.25, "y":3}, {"x":11.25, "y":3}, {"x":12.25, "y":3, "w":1.75}, {"x":14, "y":3}, {"x":0, "y":4, "w":1.5}, {"x":1.5, "y":4}, {"x":2.5, "y":4, "w":1.5}, {"x":4, "y":4, "w":7}, {"x":11, "y":4, "w":1.5}, {"x":12.5, "y":4}, {"x":13.5, "y":4, "w":1.5}]
}
}
}
34 changes: 34 additions & 0 deletions keyboards/inett_studio/sqx/hotswap/keymaps/default/keymap.c
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
/*
Copyright 2020 astro <[email protected]>

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
yulei marked this conversation as resolved.
Show resolved Hide resolved

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
[0] = LAYOUT_60_tsangan_hhkb(
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_DEL, KC_BSPC,
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_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_LSFT, KC_Z, KC_X, KC_C, KC_V, KC_B, KC_N, KC_M, KC_COMM,KC_DOT, KC_SLSH,KC_RSFT, KC_END,
KC_LCTL, KC_LGUI, KC_LALT, KC_SPC, KC_RALT, MO(1),KC_RCTL),

[1] = LAYOUT_60_tsangan_hhkb(
_______, KC_F1, KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12,_______,KC_PSCR,
RESET, RGB_TOG,RGB_MOD,_______, KC_F16, KC_F17,_______,_______,_______,_______,_______,KC_PGUP,KC_PGDN,_______,
_______, _______,_______,_______,_______,_______,KC_LEFT,KC_DOWN, KC_UP,KC_RIGHT,KC_HOME, KC_END,_______,
_______, _______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,_______,
_______,_______,_______, _______, _______,_______,_______),
};
Loading