summary refs log tree commit diff
path: root/quantum
diff options
context:
space:
mode:
authordi0ib <git@porkhash.net>2016-08-14 10:58:22 -1000
committerdi0ib <git@porkhash.net>2016-08-14 10:58:22 -1000
commitb4218a2b3e928468110eb034fbac61631b71d30d (patch)
tree7d5f318b5bc81b01bf7a97e95eba6c65b2feacec /quantum
parentc6c2c3fc14736e4d226c5f410d8c3faf3d36629f (diff)
parent6323f3d1e74350ef52dddc1f31d8b36ba637d254 (diff)
Merge remote-tracking branch 'refs/remotes/jackhumbert/master'
Diffstat (limited to 'quantum')
-rw-r--r--quantum/keymap.h22
-rw-r--r--quantum/keymap_extras/keymap_russian.h77
-rw-r--r--quantum/keymap_extras/keymap_unicode_cyrillic.h (renamed from quantum/keymap_extras/keymap_cyrillic.h)6
3 files changed, 92 insertions, 13 deletions
diff --git a/quantum/keymap.h b/quantum/keymap.h
index a158651839..f2d94d75c3 100644
--- a/quantum/keymap.h
+++ b/quantum/keymap.h
@@ -156,16 +156,16 @@ enum quantum_keycodes {
     BL_INC,
     BL_TOGG,
     BL_STEP,
-	
-	// RGB functionality
-	RGB_TOG,
-	RGB_MOD,
-	RGB_HUI,
-	RGB_HUD,
-	RGB_SAI,
-	RGB_SAD,
-	RGB_VAI,
-	RGB_VAD,
+
+    // RGB functionality
+    RGB_TOG,
+    RGB_MOD,
+    RGB_HUI,
+    RGB_HUD,
+    RGB_SAI,
+    RGB_SAD,
+    RGB_VAI,
+    RGB_VAD,
 
     // Left shift, open paren
     KC_LSPO,
@@ -309,7 +309,7 @@ enum quantum_keycodes {
 #define OSL(layer) (layer | QK_ONE_SHOT_LAYER)
 
 // One-shot mod
-#define OSM(layer) (layer | QK_ONE_SHOT_MOD)
+#define OSM(mod) (mod | QK_ONE_SHOT_MOD)
 
 // M-od, T-ap - 256 keycode max
 #define MT(mod, kc) (kc | QK_MOD_TAP | ((mod & 0xF) << 8))
diff --git a/quantum/keymap_extras/keymap_russian.h b/quantum/keymap_extras/keymap_russian.h
new file mode 100644
index 0000000000..237e9abde3
--- /dev/null
+++ b/quantum/keymap_extras/keymap_russian.h
@@ -0,0 +1,77 @@
+#ifndef KEYMAP_RUSSIAN_H
+#define KEYMAP_RUSSIAN_H
+
+#include "keymap.h"
+
+// Normal Chracters      // reg   SHIFT
+#define RU_A     KC_F    // а and А
+#define RU_BE    KC_COMM // б and Б
+#define RU_VE    KC_D    // в and В
+#define RU_GHE   KC_U    // г and Г
+#define RU_DE    KC_L    // д and Д
+#define RU_IE    KC_T    // е and Е
+#define RU_IO    KC_GRV  // ё and Ё
+#define RU_ZHE   KC_SCLN // ж and Ж
+#define RU_ZE    KC_P    // з and З
+#define RU_I     KC_B    // и and И
+#define RU_SRT_I KC_Q    // й and Й
+#define RU_KA    KC_R    // к and К
+#define RU_EL    KC_K    // л and Л
+#define RU_EM    KC_V    // м and М
+#define RU_EN    KC_Y    // н and Н
+#define RU_O     KC_J    // о and О
+#define RU_PE    KC_G    // п and П
+#define RU_ER    KC_H    // р and Р
+#define RU_ES    KC_C    // с and С
+#define RU_TE    KC_N    // т and Т
+#define RU_U     KC_E    // у and У
+#define RU_EF    KC_A    // ф and Ф
+#define RU_HA    KC_LBRC // х and Х
+#define RU_TSE   KC_W    // ц and Ц
+#define RU_CHE   KC_X    // ч and Ч
+#define RU_SHA   KC_I    // ш and Ш
+#define RU_SHCHA KC_O    // щ and Щ
+#define RU_HSIGN KC_RBRC // ъ and Ъ
+#define RU_YERU  KC_S    // ы and Ы
+#define RU_SSIGN KC_M    // ь and Ь
+#define RU_E     KC_QUOT // э and Э
+#define RU_YU    KC_DOT  // ю and Ю
+#define RU_YA    KC_Z    // я and Я
+
+#define RU_1     KC_1    // 1 and !
+#define RU_2     KC_2    // 2 and "
+#define RU_3     KC_3    // 3 and №
+#define RU_4     KC_4    // 4 and ;
+#define RU_5     KC_5    // 5 and %
+#define RU_6     KC_6    // 6 and :
+#define RU_7     KC_7    // 7 and ?
+#define RU_8     KC_8    // 8 and *
+#define RU_9     KC_9    // 9 and (
+#define RU_0     KC_0    // 0 and )
+
+#define RU_MINS  KC_MINS // - and _
+#define RU_EQL   KC_EQL  // = and +
+#define RU_BSLS  KC_BSLS // \ and /
+#define RU_DOT   KC_SLSH // . and ,
+
+// Shifted Chracters
+#define RU_EXLM LSFT(RU_1) // !
+#define RU_DQUT LSFT(RU_2) // "
+#define RU_NMRO LSFT(RU_3) // №
+#define RU_SCLN LSFT(RU_4) // ;
+#define RU_PERC LSFT(RU_5) // %
+#define RU_COLN LSFT(RU_6) // :
+#define RU_QUES LSFT(RU_7) // ?
+#define RU_ASTR LSFT(RU_8) // *
+#define RU_LPRN LSFT(RU_9) // (
+#define RU_RPRN LSFT(RU_0) // )
+
+#define RU_UNDR LSFT(RU_MINS) // _
+#define RU_PLUS LSFT(RU_EQL)  // +
+#define RU_SLSH LSFT(RU_BSLS) // /
+#define RU_COMM LSFT(RU_DOT)  // ,
+
+// Alt Gr-ed characters
+#define RU_RUBL RALT(RU_8) // ₽
+
+#endif
diff --git a/quantum/keymap_extras/keymap_cyrillic.h b/quantum/keymap_extras/keymap_unicode_cyrillic.h
index d5390afff5..a40626d911 100644
--- a/quantum/keymap_extras/keymap_cyrillic.h
+++ b/quantum/keymap_extras/keymap_unicode_cyrillic.h
@@ -6,6 +6,8 @@
 /*
  * This is based off of
  * https://en.wikipedia.org/wiki/Cyrillic_script
+ *
+ * Unicode is iffy, a software implementation is preferred
  */
 
 // Capital                   Char russian/ukrainian/bulgarian
@@ -153,8 +155,8 @@
 #define CY_thsign UC(0x1c86) // ᲆ CYRILLIC SMALL LETTER TALL HARD SIGN
 #define CY_YERUBY UC(0xa650) // Ꙑ CYRILLIC CAPITAL LETTER YERU WITH BACK YER
 #define CY_yeruby UC(0xa651) // ꙑ CYRILLIC SMALL LETTER YERU WITH BACK YER
-#define CY_RUBLE  UC(0x20bd) // ₽
-#define CY_NUMERO UC(0x2116) // №
+#define CY_RUBL   UC(0x20bd) // ₽
+#define CY_NMRO   UC(0x2116) // №
 
 // The letters Zje and Sje are made for other letters and accent marks