~ruther/qmk_firmware

90c384f6504fa69a4e9abe9968b7e61e7670e180 — noroadsleft 7 years ago 47957c3
Omnikey Blackheart refactor (#3280)

A keyboards/omnikey_blackheart/info.json => keyboards/omnikey_blackheart/info.json +13 -0
@@ 0,0 1,13 @@
{
  "keyboard_name": "Omnikey Blackheart PCB",
  "url": "",
  "maintainer": "qmk",
  "width": 25.5,
  "height": 6.5,
  "layouts": {
    "LAYOUT": {
      "key_count": 123,
      "layout": [{"label":"K000", "x":0, "y":0}, {"label":"K001", "x":1, "y":0}, {"label":"K002", "x":2.5, "y":0}, {"label":"K003", "x":4.5, "y":0}, {"label":"K004", "x":5.5, "y":0}, {"label":"K005", "x":6.5, "y":0}, {"label":"K006", "x":7.5, "y":0}, {"label":"K007", "x":9, "y":0}, {"label":"K008", "x":10, "y":0}, {"label":"K009", "x":11, "y":0}, {"label":"K010", "x":12, "y":0}, {"label":"K011", "x":13.5, "y":0}, {"label":"K012", "x":14.5, "y":0}, {"label":"K013", "x":15.5, "y":0}, {"label":"K014", "x":16.5, "y":0}, {"label":"K015", "x":18, "y":0}, {"label":"K016", "x":19, "y":0}, {"label":"K017", "x":20, "y":0}, {"label":"K100", "x":0, "y":1.5}, {"label":"K101", "x":1, "y":1.5}, {"label":"K102", "x":2.5, "y":1.5}, {"label":"K103", "x":3.5, "y":1.5}, {"label":"K104", "x":4.5, "y":1.5}, {"label":"K105", "x":5.5, "y":1.5}, {"label":"K106", "x":6.5, "y":1.5}, {"label":"K107", "x":7.5, "y":1.5}, {"label":"K108", "x":8.5, "y":1.5}, {"label":"K109", "x":9.5, "y":1.5}, {"label":"K110", "x":10.5, "y":1.5}, {"label":"K111", "x":11.5, "y":1.5}, {"label":"K112", "x":12.5, "y":1.5}, {"label":"K113", "x":13.5, "y":1.5}, {"label":"K114", "x":14.5, "y":1.5}, {"label":"K115", "x":15.5, "y":1.5, "w":2}, {"label":"K116", "x":18, "y":1.5}, {"label":"K117", "x":19, "y":1.5}, {"label":"K118", "x":20, "y":1.5}, {"label":"K119", "x":21.5, "y":1.5}, {"label":"K120", "x":22.5, "y":1.5}, {"label":"K121", "x":23.5, "y":1.5}, {"label":"K122", "x":24.5, "y":1.5}, {"label":"K200", "x":0, "y":2.5}, {"label":"K201", "x":1, "y":2.5}, {"label":"K202", "x":2.5, "y":2.5, "w":1.5}, {"label":"K203", "x":4, "y":2.5}, {"label":"K204", "x":5, "y":2.5}, {"label":"K205", "x":6, "y":2.5}, {"label":"K206", "x":7, "y":2.5}, {"label":"K207", "x":8, "y":2.5}, {"label":"K208", "x":9, "y":2.5}, {"label":"K209", "x":10, "y":2.5}, {"label":"K210", "x":11, "y":2.5}, {"label":"K211", "x":12, "y":2.5}, {"label":"K212", "x":13, "y":2.5}, {"label":"K213", "x":14, "y":2.5}, {"label":"K214", "x":15, "y":2.5}, {"label":"K215", "x":16, "y":2.5, "w":1.5}, {"label":"K216", "x":18, "y":2.5}, {"label":"K217", "x":19, "y":2.5}, {"label":"K218", "x":20, "y":2.5}, {"label":"K219", "x":21.5, "y":2.5}, {"label":"K220", "x":22.5, "y":2.5}, {"label":"K221", "x":23.5, "y":2.5}, {"label":"K222", "x":24.5, "y":2.5}, {"label":"K300", "x":0, "y":3.5}, {"label":"K301", "x":1, "y":3.5}, {"label":"K302", "x":2.5, "y":3.5, "w":1.75}, {"label":"K303", "x":4.25, "y":3.5}, {"label":"K304", "x":5.25, "y":3.5}, {"label":"K305", "x":6.25, "y":3.5}, {"label":"K306", "x":7.25, "y":3.5}, {"label":"K307", "x":8.25, "y":3.5}, {"label":"K308", "x":9.25, "y":3.5}, {"label":"K309", "x":10.25, "y":3.5}, {"label":"K310", "x":11.25, "y":3.5}, {"label":"K311", "x":12.25, "y":3.5}, {"label":"K312", "x":13.25, "y":3.5}, {"label":"K313", "x":14.25, "y":3.5}, {"label":"K314", "x":15.25, "y":3.5, "w":2.25}, {"label":"K315", "x":18, "y":3.5}, {"label":"K316", "x":19, "y":3.5}, {"label":"K317", "x":20, "y":3.5}, {"label":"K318", "x":21.5, "y":3.5}, {"label":"K319", "x":22.5, "y":3.5}, {"label":"K320", "x":23.5, "y":3.5}, {"label":"K321", "x":24.5, "y":3.5}, {"label":"K400", "x":0, "y":4.5}, {"label":"K401", "x":1, "y":4.5}, {"label":"K402", "x":2.5, "y":4.5, "w":2.25}, {"label":"K403", "x":4.75, "y":4.5}, {"label":"K404", "x":5.75, "y":4.5}, {"label":"K405", "x":6.75, "y":4.5}, {"label":"K406", "x":7.75, "y":4.5}, {"label":"K407", "x":8.75, "y":4.5}, {"label":"K408", "x":9.75, "y":4.5}, {"label":"K409", "x":10.75, "y":4.5}, {"label":"K410", "x":11.75, "y":4.5}, {"label":"K411", "x":12.75, "y":4.5}, {"label":"K412", "x":13.75, "y":4.5}, {"label":"K413", "x":14.75, "y":4.5, "w":1.75}, {"label":"K414", "x":16.5, "y":4.5}, {"label":"K415", "x":18, "y":4.5}, {"label":"K416", "x":19, "y":4.5}, {"label":"K417", "x":20, "y":4.5}, {"label":"K418", "x":21.5, "y":4.5}, {"label":"K419", "x":22.5, "y":4.5}, {"label":"K420", "x":23.5, "y":4.5}, {"label":"K421", "x":24.5, "y":4.5, "h":2}, {"label":"K500", "x":0, "y":5.5}, {"label":"K501", "x":1, "y":5.5}, {"label":"K502", "x":2.5, "y":5.5, "w":1.5}, {"label":"K503", "x":4, "y":5.5}, {"label":"K504", "x":5, "y":5.5, "w":1.5}, {"label":"K507", "x":6.5, "y":5.5, "w":7}, {"label":"K512", "x":13.5, "y":5.5}, {"label":"K513", "x":14.5, "y":5.5}, {"label":"K514", "x":15.5, "y":5.5}, {"label":"K515", "x":16.5, "y":5.5}, {"label":"K516", "x":18, "y":5.5}, {"label":"K517", "x":19, "y":5.5}, {"label":"K518", "x":20, "y":5.5}, {"label":"K519", "x":21.5, "y":5.5, "w":2}, {"label":"K520", "x":23.5, "y":5.5}]
    }
  }
}

M keyboards/omnikey_blackheart/keymaps/default/keymap.c => keyboards/omnikey_blackheart/keymaps/default/keymap.c +40 -39
@@ 1,48 1,49 @@
#include "omnikey_blackheart.h"
#include QMK_KEYBOARD_H

// Fillers to make layering more clear
#define ______ KC_TRNS
#define XXXXXX KC_NO
#define _______ KC_TRNS
#define XXXXXXX KC_NO

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

    [0] = KEYMAP(\
	KC_F11	, 	KC_F12 ,	KC_ESC	,	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	, 	KC_SLCK	, 	KC_PAUS	, 
	KC_F1	, 	KC_F2  , 	KC_GRV	, 	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_INS	, 	KC_HOME	, 	KC_PGUP	, 	KC_NLCK	, KC_PSLS, KC_PAST, KC_PMNS, 
	KC_F3	, 	KC_F4  , 	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_DEL	, 	KC_END	, 	KC_PGDN	, 	KC_P7	, KC_P8	 , KC_P9  , KC_PPLS, 
	KC_F5	, 	KC_F6  , 	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 	,	XXXXXX	, 	XXXXXX	, 	XXXXXX	, 	KC_P4	, KC_P5	 , KC_P6  ,	KC_EQL, 
	KC_F7	, 	KC_F8  , 	KC_LSFT	, 	KC_Z	, 	KC_X	, 	KC_C	, 	KC_V	, 	KC_B	, 	KC_N	, 	KC_M	, 	KC_COMM	, 	KC_DOT	, 	KC_SLSH	,	KC_RSFT	, 				MO(1)	,	XXXXXX	, 	KC_UP	, 	XXXXXX	, 	KC_P1	, KC_P2	 , KC_P3  ,	KC_PENT, 
	KC_F9 	, 	KC_F10 ,	KC_LCTL	,   KC_LGUI	, 	KC_LALT	, 	XXXXXX	,		 		KC_SPC	, 										KC_RALT	, 	KC_RGUI	, 	KC_RCTL	, 				XXXXXX 	,	KC_LEFT	, 	KC_DOWN	, 	KC_RIGHT, 		  KC_P0		 , KC_PDOT
	),
	
	[1] = KEYMAP(\
	KC_F11	, 	KC_F12 ,	KC_ESC	,	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	, 	KC_SLCK	, 	KC_PAUS	, 
	KC_F1	, 	KC_F2  , 	RESET	, 	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_INS	, 	KC_HOME	, 	KC_PGUP	, 	KC_NLCK	, KC_PSLS, KC_PAST, KC_PMNS, 
	KC_F3	, 	KC_F4  , 	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_DEL	, 	KC_END	, 	KC_PGDN	, 	KC_P7	, KC_P8	 , KC_P9  , KC_PPLS, 
	KC_F5	, 	KC_F6  , 	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 	,	XXXXXX	, 	XXXXXX	, 	XXXXXX	, 	KC_P4	, KC_P5	 , KC_P6  ,	KC_EQL, 
	KC_F7	, 	KC_F8  , 	KC_LSFT	, 	KC_Z	, 	KC_X	, 	KC_C	, 	KC_V	, 	KC_B	, 	KC_N	, 	KC_M	, 	KC_COMM	, 	KC_DOT	, 	KC_SLSH	,	KC_RSFT	, 				______	,	XXXXXX	, 	KC_UP	, 	XXXXXX	, 	KC_P1	, KC_P2	 , KC_P3  ,	KC_PENT, 
	KC_F9 	, 	KC_F10 ,	KC_LCTL	,   KC_LGUI	, 	KC_LALT	, 	XXXXXX	,		 		KC_SPC	, 										KC_RALT	, 	KC_RGUI	, 	KC_RCTL	, 				XXXXXX 	,	KC_LEFT	, 	KC_DOWN	, 	KC_RIGHT, 	KC_P0	, KC_PDOT
	),
  [0] = LAYOUT(\
    KC_F11,  KC_F12,      KC_ESC,  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, KC_SLCK, KC_PAUS,
    KC_F1,   KC_F2,       KC_GRV,  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_INS,  KC_HOME, KC_PGUP,     KC_NLCK, KC_PSLS, KC_PAST, KC_PMNS,
    KC_F3,   KC_F4,       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_DEL,  KC_END,  KC_PGDN,     KC_P7,   KC_P8,   KC_P9,   KC_PPLS,
    KC_F5,   KC_F6,       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,               XXXXXXX, XXXXXXX, XXXXXXX,     KC_P4,   KC_P5,   KC_P6,   KC_EQL,
    KC_F7,   KC_F8,       KC_LSFT, KC_Z,    KC_X,    KC_C,    KC_V,    KC_B,    KC_N,    KC_M,    KC_COMM, KC_DOT,  KC_SLSH, KC_RSFT, MO(1),                XXXXXXX, KC_UP,   XXXXXXX,     KC_P1,   KC_P2,   KC_P3,   KC_PENT,
    KC_F9,   KC_F10,      KC_LCTL, KC_LGUI, KC_LALT,                   KC_SPC,                                      KC_RALT, KC_RGUI, KC_RCTL, XXXXXXX,     KC_LEFT, KC_DOWN, KC_RGHT,     KC_P0,            KC_PDOT
  ),

  [1] = LAYOUT(\
    _______, _______,     _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,              _______, _______, _______,
    _______, _______,     RESET,   _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,     _______, _______, _______,     _______, _______, _______, _______,
    _______, _______,     _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,     _______, _______, _______,     _______, _______, _______, _______,
    _______, _______,     _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,              XXXXXXX, XXXXXXX, XXXXXXX,     _______, _______, _______, _______,
    _______, _______,     _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______, _______,              XXXXXXX, _______, XXXXXXX,     _______, _______, _______, _______,
    _______, _______,     _______, _______, _______,                   _______,                                     _______, _______, _______, XXXXXXX,     _______, _______, _______,     _______,          _______

  ),
};

void led_set_kb(uint8_t usb_led) {
	DDRB |= (1 << 4) | (1 << 5) | (1 << 6);

	if (usb_led & (1 << USB_LED_NUM_LOCK)) {
		PORTB |= (1 << 4);
	} else {
		PORTB &= ~(1 << 4);
	}

	if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
		PORTB |= (1 << 5);
	} else {
		PORTB &= ~(1 << 5);
	}

	if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
		PORTB |= (1 << 6);
	} else {
		PORTB &= ~(1 << 6);
	}
  DDRB |= (1 << 4) | (1 << 5) | (1 << 6);

  if (usb_led & (1 << USB_LED_NUM_LOCK)) {
    PORTB |= (1 << 4);
  } else {
    PORTB &= ~(1 << 4);
  }

  if (usb_led & (1 << USB_LED_CAPS_LOCK)) {
    PORTB |= (1 << 5);
  } else {
    PORTB &= ~(1 << 5);
  }

  if (usb_led & (1 << USB_LED_SCROLL_LOCK)) {
    PORTB |= (1 << 6);
  } else {
    PORTB &= ~(1 << 6);
  }
}
\ No newline at end of file

M keyboards/omnikey_blackheart/omnikey_blackheart.h => keyboards/omnikey_blackheart/omnikey_blackheart.h +13 -13
@@ 3,20 3,20 @@

#include "quantum.h"

#define KEYMAP( \
	K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017,                               \
	K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, K118, K119, K120, K121, K122, \
	K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, K220, K221, K222, \
	K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, K317, K318, K319, K320, K321,       \
	K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K415, K416, K417, K418, K419, K420, K421,       \
	K500, K501, K502, K503, K504, K505,       K507,                         K512, K513, K514, K515, K516, K517, K518, K519, K520  \
#define LAYOUT( \
  K000, K001, K002, K003, K004, K005, K006, K007, K008, K009, K010, K011, K012, K013, K014, K015, K016, K017,                               \
  K100, K101, K102, K103, K104, K105, K106, K107, K108, K109, K110, K111, K112, K113, K114, K115, K116, K117, K118, K119, K120, K121, K122, \
  K200, K201, K202, K203, K204, K205, K206, K207, K208, K209, K210, K211, K212, K213, K214, K215, K216, K217, K218, K219, K220, K221, K222, \
  K300, K301, K302, K303, K304, K305, K306, K307, K308, K309, K310, K311, K312, K313, K314, K315, K316, K317, K318, K319, K320, K321,       \
  K400, K401, K402, K403, K404, K405, K406, K407, K408, K409, K410, K411, K412, K413, K414, K415, K416, K417, K418, K419, K420, K421,       \
  K500, K501, K502, K503, K504,             K507,                         K512, K513, K514, K515, K516, K517, K518, K519, K520  \
) { \
	{ K000,  K001,  K002,  K003,  K004,  K005,  K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,  K014,  K015,  K016,  K017,  KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
	{ K100,  K101,  K102,  K103,  K104,  K105,  K106,  K107,  K108,  K109,  K110,  K111,  K112,  K113,  K114,  K115,  K116,  K117,  K118,  K119,  K120,  K121,  K122 }, \
	{ K200,  K201,  K202,  K203,  K204,  K205,  K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  K214,  K215,  K216,  K217,  K218,  K219,  K220,  K221,  K222 }, \
	{ K300,  K301,  K302,  K303,  K304,  K305,  K306,  K307,  K308,  K309,  K310,  K311,  K312,  K313,  K314,  K315,  K316,  K317,  K318,  K319,  K320,  K321,  KC_NO }, \
	{ K400,  K401,  K402,  K403,  K404,  K405,  K406,  K407,  K408,  K409,  K410,  K411,  K412,  K413,  K414,  K415,  K416,  K417,  K418,  K419,  K420,  K421,  KC_NO }, \
	{ K500,  K501,  K502,  K503,  K504,  K505,  KC_NO, K507,  KC_NO, KC_NO, KC_NO, KC_NO, K512,  K513,  K514,  K515,  K516,  K517,  K518,  K519,  K520,  KC_NO, KC_NO }  \
  { K000,  K001,  K002,  K003,  K004,  K005,   K006,  K007,  K008,  K009,  K010,  K011,  K012,  K013,  K014,  K015,  K016,  K017,  KC_NO, KC_NO, KC_NO, KC_NO, KC_NO }, \
  { K100,  K101,  K102,  K103,  K104,  K105,   K106,  K107,  K108,  K109,  K110,  K111,  K112,  K113,  K114,  K115,  K116,  K117,  K118,  K119,  K120,  K121,  K122 }, \
  { K200,  K201,  K202,  K203,  K204,  K205,   K206,  K207,  K208,  K209,  K210,  K211,  K212,  K213,  K214,  K215,  K216,  K217,  K218,  K219,  K220,  K221,  K222 }, \
  { K300,  K301,  K302,  K303,  K304,  K305,   K306,  K307,  K308,  K309,  K310,  K311,  K312,  K313,  K314,  K315,  K316,  K317,  K318,  K319,  K320,  K321,  KC_NO }, \
  { K400,  K401,  K402,  K403,  K404,  K405,   K406,  K407,  K408,  K409,  K410,  K411,  K412,  K413,  K414,  K415,  K416,  K417,  K418,  K419,  K420,  K421,  KC_NO }, \
  { K500,  K501,  K502,  K503,  K504,  KC_NO,  KC_NO, K507,  KC_NO, KC_NO, KC_NO, KC_NO, K512,  K513,  K514,  K515,  K516,  K517,  K518,  K519,  K520,  KC_NO, KC_NO }  \
}

#endif
\ No newline at end of file

M keyboards/omnikey_blackheart/readme.md => keyboards/omnikey_blackheart/readme.md +2 -2
@@ 3,8 3,8 @@ Omnikey Blackheart PCB

A replacement PCB for Omnikey keyboards. Supports 101, 102, Plus, Ultra T, Ultra, Prime and Stellar, as well as customs.

Keyboard Maintainer: QMK Community and blindassassin111
Hardware Supported: Omnikey blackheart PCB
Keyboard Maintainer: QMK Community and blindassassin111  
Hardware Supported: Omnikey blackheart PCB  
Hardware Availability: https://deskthority.net/group-buys-f50/omnikey-replacement-pcb-t18276.html

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