summaryrefslogtreecommitdiffstats
path: root/keyboards/contra/keymaps/bramver/keymap.c
blob: 08f25119c272931181e98a53475be5cab3837efe (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
/* Copyright 2018 darm
 *
 * 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

enum emoji_map {
  UNAM, // unamused 😒
  HEYE, // smiling face with heart shaped eyes 😍
  OK, // ok hand sign 👌
  SMIR, // smirk 😏
  PRAY, // pray 🙏
  CELE, // celebration 🙌
  COOL, // smile with sunglasses 😎
  EYES, // eyes
  THNK, // BIG THONK
  NAIL, // Nailcare
  SOS, // Vuile sos
  REDB, // Red B
  HNDR, // 100
  MONY,
  FIRE,
  CAR,
  BUTT,
  BNIS,
  CUM,
  CLAP,
  TRIU, // Fart from nose
  SCRM,
  VOMI,
  DTIV, // Detective
  EXPL, // Brainsplosion
  HAIR, // Haircut
  DANC, // Salsa dancer
  STRN, // Stronk
  LEFT, // Point Left
  RGHT, // Point Right
};

const uint32_t unicode_map[] PROGMEM = {
  [UNAM] = 0x1F612,
  [HEYE] = 0x1f60d,
  [OK]   = 0x1F44C,
  [SMIR] = 0x1F60F,
  [PRAY] = 0x1F64F,
  [CELE] = 0x1F64C,
  [COOL] = 0x1F60E,
  [EYES] = 0x1F440,
  [THNK] = 0x1F914,
  [NAIL] = 0x1F485,
  [SOS] = 0x1F198,
  [REDB] = 0x1F171,
  [HNDR] = 0x1F4AF,
  [MONY] = 0x1F480,
  [FIRE] = 0x1F525,
  [CAR] = 0x1F697,
  [BUTT] = 0x1F351,
  [BNIS] = 0x1F346,
  [CUM] = 0x1F4A6,
  [CLAP] = 0x1F44F,
  [TRIU] = 0x1F624,
  [SCRM] = 0x1F631,
  [VOMI] = 0x1F92E,
  [DTIV] = 0x1F575,
  [EXPL] = 0x1F92F,
  [HAIR] = 0x2640,
  [DANC] = 0x1F483,
  [STRN] = 0x1F4AA,
  [LEFT] = 0x1F448,
  [RGHT] = 0x1F449,
};

// Layer shorthand
#define _BASE     0
#define _LOWER    1
#define _EMOJI    2
#define _MOUSE    3

#define SP_MSE LT(_MOUSE, KC_SPC)

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

	[_BASE] = LAYOUT_ortho_4x12(
			QK_GESC	, KC_Q		, KC_W		, KC_E		, KC_R 		, KC_T 		, KC_Y 		, KC_U 		, KC_I 		, KC_O 		, KC_P 		, KC_BSPC , 
			KC_TAB	, KC_A		, KC_S		, KC_D		, KC_F 		, KC_G 		, KC_H 		, KC_J 		, KC_K 		, KC_L 		, KC_SCLN , 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_QUOT	, 
			KC_LCTL	, KC_GRV  , KC_LALT	, KC_LGUI , MO(1)		, SP_MSE 	, SP_MSE	, KC_LEFT , KC_DOWN , KC_UP 	, KC_RGHT , MO(2)   
	),

	[_LOWER] = LAYOUT_ortho_4x12(
			_______ , KC_1 		, KC_2 		, KC_3		, KC_4		, KC_5		, KC_6		, KC_7 		, KC_8		, KC_9		, KC_0		, KC_DEL	, 
			_______ , KC_F1		, KC_F2 	, KC_F3		, KC_LBRC , KC_MINS	, KC_EQL	, KC_RBRC , KC_F7		, KC_F8		, KC_F9		, _______	, 
			_______ , KC_F4		, KC_F5 	, KC_F6 	, KC_HOME , KC_BSLS , KC_MPLY	, KC_END	, KC_F10	, KC_F11	, KC_F12	, _______	, 
			_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ 
	),

	[_EMOJI] = LAYOUT_ortho_4x12(
			_______ , UM(CLAP) , UM(CUM)  , UM(BNIS) , UM(BUTT) , UM(CAR)  , UM(FIRE) , UM(REDB) , UM(MONY) , UM(HNDR) , UM(SOS)  , _______ ,
			_______ , UM(CELE) , UM(PRAY) , UM(NAIL) , UM(OK)   , UM(THNK) , UM(UNAM) , UM(HEYE) , UM(COOL) , UM(EYES) , UM(SMIR) , _______ ,
			_______ , UM(TRIU) , UM(SCRM) , UM(VOMI) , UM(DTIV) , UM(EXPL) , UM(HAIR) , UM(DANC) , UM(STRN) , UM(LEFT) , UM(RGHT) , _______ ,
			_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ 
	),

	[_MOUSE] = LAYOUT_ortho_4x12(
			_______ , KC_WH_L , KC_BTN1 , KC_MS_U , KC_BTN2 , KC_WH_U , KC_WH_U , KC_BTN1 , KC_MS_U , KC_BTN2 , KC_WH_L , _______ ,
			_______ , KC_WH_R , KC_MS_L , KC_MS_D , KC_MS_R , KC_WH_D , KC_WH_D , KC_MS_L , KC_MS_D , KC_MS_R , KC_WH_R , _______ ,
			_______ , KC_VOLD , KC_VOLU , KC_MPRV , KC_MNXT , KC_MPLY , KC_MPLY , KC_MPRV , KC_MNXT , KC_VOLD , KC_VOLU , _______ ,
			_______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ , _______ 
	)

};

void matrix_init_user(void) {
  set_unicode_input_mode(UNICODE_MODE_LINUX);
}