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

Add keyboard treadstone32 #5888

Merged
merged 18 commits into from
May 19, 2019
Merged
Show file tree
Hide file tree
Changes from 14 commits
Commits
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
108 changes: 108 additions & 0 deletions keyboards/treadstone32/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,108 @@
/*
Copyright 2019 marksard

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 0xFEED
#define PRODUCT_ID 0xDFA5
#define DEVICE_VER 0x0010
#define MANUFACTURER marksard
#define PRODUCT treadstone32
#define DESCRIPTION Minimal Symmetrical Staggerd 32 Keys Keyboard
drashna marked this conversation as resolved.
Show resolved Hide resolved

/* key matrix size */
#define MATRIX_ROWS 8
#define MATRIX_COLS 5

/*
* Keyboard Matrix Assignments
*
* Change this to how you wired your keyboard
* COLS: AVR pins used for columns, left to right
* ROWS: AVR pins used for rows, top to bottom
* DIODE_DIRECTION: COL2ROW = COL = Anode (+), ROW = Cathode (-, marked on diode)
* ROW2COL = ROW = Anode (+), COL = Cathode (-, marked on diode)
*
*/
#define MATRIX_ROW_PINS { F1, F0, E6, B2, B4, D7, D6, D4 }
#define MATRIX_COL_PINS { F4, F5, F6, F7, C7 }
#define UNUSED_PINS

/* COL2ROW, ROW2COL, or CUSTOM_MATRIX */
#define DIODE_DIRECTION COL2ROW

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

/* define if matrix has ghost (lacks anti-ghosting diodes) */
//#define MATRIX_HAS_GHOST

/* key combination for magic key command */
#define IS_COMMAND() ( \
drashna marked this conversation as resolved.
Show resolved Hide resolved
keyboard_report->mods == (MOD_BIT(KC_LSHIFT) | MOD_BIT(KC_RSHIFT)) \
)

/* ws2812 RGB LED */
#define RGB_DI_PIN D3
#define RGBLIGHT_TIMER
#define ws2812_PORTREG PORTD
#define ws2812_DDRREG DDRD

#define RGBLED_NUM 6

#ifndef IOS_DEVICE_ENABLE
#define RGBLIGHT_LIMIT_VAL 200
#define RGBLIGHT_VAL_STEP 17
#else
#define RGBLIGHT_LIMIT_VAL 50
#define RGBLIGHT_VAL_STEP 4
#endif
#define RGBLIGHT_HUE_STEP 10
#define RGBLIGHT_SAT_STEP 17

#if defined(RGBLIGHT_ENABLE) && !defined(IOS_DEVICE_ENABLE)
// USB_MAX_POWER_CONSUMPTION value for treadstone32 keyboard
// 120 RGBoff
// 330 RGB 6
// 300 RGB 32
#define USB_MAX_POWER_CONSUMPTION 400
#else
// fix iPhone and iPad power adapter issue
// iOS device need lessthan 100
#define USB_MAX_POWER_CONSUMPTION 100
#endif

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

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

/* disable print */
//#define NO_PRINT

/* disable action features */
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
//#define NO_ACTION_MACRO
//#define NO_ACTION_FUNCTION
175 changes: 175 additions & 0 deletions keyboards/treadstone32/info.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,175 @@
{
"keyboard_name": "Treadstone32",
"url": "https://github.com/marksard/Keyboards",
"maintainer": "marksard",
"width": 10.5,
"height": 4,
"layouts": {
"LAYOUT": {
"layout": [
{
"label": "Q",
"x": 0,
"y": 0
},
{
"label": "W",
"x": 1,
"y": 0
},
{
"label": "E",
"x": 2,
"y": 0
},
{
"label": "R",
"x": 3,
"y": 0
},
{
"label": "T",
"x": 4,
"y": 0
},
{
"label": "Y",
"x": 5.5,
"y": 0
},
{
"label": "U",
"x": 6.5,
"y": 0
},
{
"label": "I",
"x": 7.5,
"y": 0
},
{
"label": "O",
"x": 8.5,
"y": 0
},
{
"label": "P",
"x": 9.5,
"y": 0
},
{
"label": "A",
"x": 0.25,
"y": 1
},
{
"label": "S",
"x": 1.25,
"y": 1
},
{
"label": "D",
"x": 2.25,
"y": 1
},
{
"label": "F",
"x": 3.25,
"y": 1
},
{
"label": "G",
"x": 4.25,
"y": 1
},
{
"label": "H",
"x": 5.25,
"y": 1
},
{
"label": "J",
"x": 6.25,
"y": 1
},
{
"label": "K",
"x": 7.25,
"y": 1
},
{
"label": "L",
"x": 8.25,
"y": 1
},
{
"label": "enter",
"x": 9.25,
"y": 1
},
{
"label": "Z",
"x": 0,
"y": 2
},
{
"label": "X",
"x": 1,
"y": 2
},
{
"label": "C",
"x": 2,
"y": 2
},
{
"label": "V",
"x": 3,
"y": 2
},
{
"label": "B",
"x": 4,
"y": 2
},
{
"label": "N",
"x": 5.5,
"y": 2
},
{
"label": "M",
"x": 6.5,
"y": 2
},
{
"label": ",",
"x": 7.5,
"y": 2
},
{
"label": ".",
"x": 8.5,
"y": 2
},
{
"label": "/",
"x": 9.5,
"y": 2
},
{
"label": "backspace",
"x": 3.25,
"y": 3,
"w": 2
},
{
"label": "space",
"x": 5.25,
"y": 3,
"w": 2
}
]
}
}
}
59 changes: 59 additions & 0 deletions keyboards/treadstone32/keymaps/default/config.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
/*
This is the c configuration file for the keymap

Copyright 2012 Jun Wako <wakojun@gmail.com>
Copyright 2015 Jack Humbert

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

// place overrides here
#define TAPPING_TERM 200
#define PREVENT_STUCK_MODIFIERS
drashna marked this conversation as resolved.
Show resolved Hide resolved
#define IGNORE_MOD_TAP_INTERRUPT

#define TAPPING_LAYER_TERM 150 // Custom LT Tapping term
#define TAPPING_TERM_PER_KEY

#ifdef MOUSEKEY_ENABLE
#undef MOUSEKEY_INTERVAL
#define MOUSEKEY_INTERVAL 1

#undef MOUSEKEY_TIME_TO_MAX
#define MOUSEKEY_TIME_TO_MAX 150

#undef MOUSEKEY_MAX_SPEED
#define MOUSEKEY_MAX_SPEED 3

#undef MOUSEKEY_MOVE_DELTA
#define MOUSEKEY_MOVE_DELTA 4

#undef MOUSEKEY_DELAY
#define MOUSEKEY_DELAY 0
#endif

// Selection of RGBLIGHT MODE to use.
#if defined(LED_ANIMATIONS)
//#define RGBLIGHT_EFFECT_BREATHING
#define RGBLIGHT_EFFECT_RAINBOW_MOOD
#define RGBLIGHT_EFFECT_RAINBOW_SWIRL
//#define RGBLIGHT_EFFECT_SNAKE
#define RGBLIGHT_EFFECT_KNIGHT
//#define RGBLIGHT_EFFECT_CHRISTMAS
#define RGBLIGHT_EFFECT_STATIC_GRADIENT
//#define RGBLIGHT_EFFECT_RGB_TEST
//#define RGBLIGHT_EFFECT_ALTERNATING
#endif
Loading