diff --git a/README.ja.md b/README.ja.md new file mode 100644 index 000000000..5ec94e02d --- /dev/null +++ b/README.ja.md @@ -0,0 +1,152 @@ +# Youhei配列 +[English](README.md)|日本語 + +``` +------------------------------ ------------------------------ +| Scrn | & | * | ( | ) | ^ | ~ | | | % | ! | @ | # | $ | | +| Lock | 7 | 8 | 9 | 0 | 6 | ` | |Ins| 5 | 1 | 2 | 3 | 4 | KANA | +|------------------------------| |------------------------------| +| { | X | C | L | P | V | | | D | K | G | U | Y | Z | } | +| [ | | | | | | B | | e | | | | | | ] | +|--------------------------| S | | l |--------------------------| +| " | O | S | R | N | N |___| |___| D | T | E | I | A | : | +| ' | | | | | | | | | | | | | | ; | +|--------------------------| E | | T |--------------------------| +| + | Q | J | < | F | B | s | | a | W | M | > | _ | ? | | | +| = | | | , | | | c | ------- ------- | b | | | . | - | / | \ | +------------------------------- | | | | | | ------------------------------ + | R | L | | | | | | | | | | | | | |PAU|Prt| + |Btn|Btn|Win|Alt|CTL| -----------| |----------- |CTL|Alt|Win|SE |Scr| + ------------------- |Sft|Fn | | | | | | ------------------- + | | | | | | | | + | S | E |---| |---| | | + | p | n |Cap| |IME| | | + | c | t |Lck| |TGL| | | + ----------- ----------- +``` + +## Fn layer + +``` +------------------------------ ------------------------------ +| | | | | | | | | | | | | | | | +| |F7 |F8 |F9 |F10|F6 | | | |F5 |F1 |F2 |F3 |F4 | | +|------------------------------| |------------------------------| +| | | | | | | | | | |Le |Ri | | | | +| F11 | | | | | | | | | |ft |ght| | | F12 | +|--------------------------| | | |--------------------------| +| | |Vol|Vol|Mu | |___| |___|Ho |Do | | | | | +| | |Dn |up |te | | | | |me |wn |Up |End|App| | +|--------------------------| | | |--------------------------| +| | | | | | | | | | |Pg |Pg | | | | +| | | | | | | | ------- ------- | | |Dn |Up | | | | +------------------------------- | | | | | | ------------------------------ + | | | | | | | | | | | | | | | | | | + | | |Win|Alt|CTL| -----------| |----------- |CTL|Alt|Win| | | + ------------------- |Sft|Fn | | | |Fn |Sft| ------------------- + | | | | | | C | | + | S | E |---| |---| o | S | + | p | n | | | | n | p | + | c | t | | | | v | c | + ----------- ----------- +``` + +## 画像の説明 +Clearキーは修飾キーとレイヤーの状態をまっさらにします。 + +Resetキーはキーボードの右上にあるリセットボタンとして使えます。リセットボタンはファームウェアを上書きするのに使います。間違えて押すと、キーボードが固まるので気をつけてください。固まったときは、ケーブルを抜き差しすると治ります。. + +IMEキーは全角半角キーです。チルダとキーコードが被っているので変換キーに割り当てています。各自で変換キーをインプットメソッドの全角半角切り替えに設定してください。 + +CmpsキーはComposeキーの略です。 + +Repeatレイヤーは長押しでの連続入力をDual roleキーでも可能にします。反対の手で押してください。 + +## クリックキー +反対の手でマウスなどのポインティングデバイスを操作できて便利です。 + +## [Composeキー](https://en.wikipedia.org/wiki/Compose_key) +R-Altキーに割り当てています。 + +[これ](https://github.com/h-youhei/myconfig/tree/master/etc/X11/xorg.conf.d/70-keyboard.conf)が設定ファイルです。 + +/etc/X11/xorg.conf.dに置いてください。 + +## 日本語入力 +[ここ](https://github.com/h-youhei/myconfig/tree/master/init/mozc)に、設定ファイルがあります。mozcの設定ダイアログを開いて、インポートしてください。 + +keymap.txt には、変換や確定などの操作が定義されています。 + +kana-table.txt, gyoudan-table.txt には、それぞれかな入力、行段入力用のローマ字テーブルが定義されています。 + +### かな入力 +``` +------------------------------ ------------------------------ +| |ぇ |ぺ |め |ぁ |ゆ |や | | |ぢ |ぱ |ぐ |づ |ゔ | | +| | え| れ| ま| あ| ゅ| ゃ| | | ち| ら| く| つ| わ| | +|------------------------------| |------------------------------| +| ぼ |ぞ |げ |だ |へ |ぉ | | | |む |ぎ |ぬ |※ |び | ぽ | +| ほ | そ| が| た| て| お| | | | も| き| の| っ| ひ| ろ | +|--------------------------| | | |--------------------------| +| ぜ |ば |げ |ど |ご |べ |___| |___|み |じ |ぃ |・ |ぅ | | +| せ | は| か| と| こ| で| | | | に| し| い| ん| う| ー | +|--------------------------| | | |--------------------------| +| ( |? |ぶ |よ |ね |ざ | | | |ぴ |ぷ |ず |: |! | ) | +| 「 | 。| ふ| ょ| な| さ| | ------- ------- | | り| る| す| を| 、| 」 | +------------------------------- | | | | | | ------------------------------ + | | | | | | | | | | | | | | | | | | + | | |Win|Alt|CTL| -----------| |----------- |CTL|Alt|Win| | | + ------------------- |Sft|Fn | | | |Fn |Sft| ------------------- + | | | | | | C | | + | S | E |---| |---| o | S | + | p | n | | | | n | p | + | c | t | | | | v | c | + ----------- ----------- +``` +シフトキー +大文字を小文字にする +あ行 +小文字を大文字にする +や行 +ぱ行にする +ら行 +あ段をえ段にする +かけ、がげ、なね、まめ +お段をう段にする +のぬ、もむ +行をかえる +にみ、てへ、でべ +濁音にする +そのほかのか行、さ行、た行、は行 + +### 行段入力 +![gyoudan-layout](img/gyoudan.png) +左手で子音、右手で母音を入力します。子音、母音の順で入力してください。 + +や行、わ行も母音として扱っています。 + +子音をシフトまたは連続入力すると、子音の前に「っ」が追加されます。 + +母音をシフトすると、母音の後に「ん」が追加されます。 + +小文字キーを連続入力すると、「っ」単体を入力できます。 + +|あ|い|う|え|お|や|ゆ|いぇ|よ|わ|ゐ|ゑ|を| +|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:| +|か|き|く|け|こ|きゃ|きゅ|きぇ|きょ|くぁ|くぃ|くぇ|くぉ| +|さ|し|す|せ|そ|しゃ|しゅ|しぇ|しょ|すぁ|すぃ|すぇ|すぉ| +|た|ち|つ|て|と|ちゃ|ちゅ|ちぇ|ちょ|つぁ|つぃ|つぇ|つぉ| +|な|に|ぬ|ね|の|にゃ|にゅ|にぇ|にょ|ぬぁ|ぬぃ|ぬぇ|ぬぉ| +|は|ひ|ふ|へ|ほ|ひゃ|ひゅ|ひぇ|ひょ|ふぁ|ふぃ|ふぇ|ふぉ| +|ま|み|む|め|も|みゃ|みゅ|みぇ|みょ|むぁ|むぃ|むぇ|むぉ| +|ら|り|る|れ|ろ|りゃ|りゅ|りぇ|りょ|るぁ|るぃ|るぇ|るぉ| +|が|ぎ|ぐ|げ|ご|ぎゃ|ぎゅ|ぎぇ|ぎょ|ぐぁ|ぐぃ|ぐぇ|ぐぉ| +|ざ|じ|ず|ぜ|ぞ|じゃ|じゅ|じぇ|じょ|ずぁ|ずぃ|ずぇ|ずぉ| +|だ|ぢ|づ|で|ど|ぢゃ|ぢゅ|ぢぇ|ぢょ|づぁ|づぃ|づぇ|づぉ| +|ば|び|ぶ|べ|ぼ|びゃ|びゅ|びぇ|びょ|ぶぁ|ぶぃ|ぶぇ|ぶぉ| +|ぱ|ぴ|ぷ|ぺ|ぽ|ぴゃ|ぴゅ|ぴぇ|びょ|ぷぁ|ぷぃ|ぷぇ|ぷぉ| +|た|てぃ|とぅ|て|と|てゃ|てゅ|てぇ|てょ|とぁ|とぃ|とぇ|とぉ| +|だ|でぃ|どぅ|で|ど|でゃ|でゅ|でぇ|でょ|どぁ|どぃ|どぇ|どぉ| +|ふぁ|ふぃ|ふ|ふぇ|ふぉ|ふゃ|ふゅ|ふぇ|ふょ|ほぁ|ほぃ|ほぇ|ほぉ| +|ゔぁ|ゔぃ|ゔ|ゔぇ|ゔぉ|ゔゃ|ゔゅ|ゔぇ|ゔょ|ぼぁ|ぼぃ|ぼぇ|ぼぉ| +|ぁ|ぃ|ぅ|ぇ|ぉ|ゃ|ゅ|ぇ|ょ|ゎ|うぃ|うぇ|うぉ| diff --git a/README.md b/README.md new file mode 100644 index 000000000..11684fb20 --- /dev/null +++ b/README.md @@ -0,0 +1,59 @@ +# Youhei's keymap +English|[日本語](README.ja.md) + +``` + ------------------------------ ------------------------------ +| Scrn | & | * | ( | ) | ^ | ~ | | | % | ! | @ | # | $ | | +| Lock | 7 | 8 | 9 | 0 | 6 | ` | |Ins| 5 | 1 | 2 | 3 | 4 | KANA | +|------------------------------| |------------------------------| +| { | X | C | L | P | V | | | D | K | G | U | Y | Z | } | +| [ | | | | | | B | | e | | | | | | ] | +|--------------------------| S | | l |--------------------------| +| " | O | S | R | N | N |___| |___| D | T | E | I | A | : | +| ' | | | | | | | | | | | | | | ; | +|--------------------------| E | | T |--------------------------| +| + | Q | J | < | F | B | s | | a | W | M | > | _ | ? | | | +| = | | | , | | | c | ------- ------- | b | | | . | - | / | \ | + ------------------------------ | | | | | | ------------------------------ + | R | L | | | | | | | | | | | | | |PAU|Prt| + |Btn|Btn|Win|Alt|CTL| -----------| |----------- |CTL|Alt|Win|SE |Scr| + ------------------- |Sft|Fn | | | | | | ------------------- + | | | | | | | | + | S | E |---| |---| | | + | p | n |Cap| |IME| | | + | c | t |Lck| |TGL| | | + ----------- ----------- + +``` + +## Fn layer + +``` + ------------------------------ ------------------------------ +| | | | | | | | | | | | | | | | +| |F7 |F8 |F9 |F10|F6 | | | |F5 |F1 |F2 |F3 |F4 | | +|------------------------------| |------------------------------| +| | | | | | | | | | |Le |Ri | | | | +| F11 | | | | | | | | | |ft |ght| | | F12 | +|--------------------------| | | |--------------------------| +| | |Vol|Vol|Mu | |___| |___|Ho |Do | | | | | +| | |Dn |up |te | | | | |me |wn |Up |End|App| | +|--------------------------| | | |--------------------------| +| | | | | | | | | | |Pg |Pg | | | | +| | | | | | | | ------- ------- | | |Dn |Up | | | | +------------------------------- | | | | | | ------------------------------ + | | | | | | | | | | | | | | | | | | + | | |Win|Alt|CTL| -----------| |----------- |CTL|Alt|Win| | | + ------------------- |Sft|Fn | | | |Fn |Sft| ------------------- + | | | | | | C | | + | S | E |---| |---| o | S | + | p | n | | | | n | p | + | c | t | | | | v | c | + ----------- ----------- +``` + +## details +IME key is used for toggle Input Method. Internally, it's assigned to Muhenkan key. + +## Japanese Input +see [Japanese Readme](README.ja.md) diff --git a/config.h b/config.h new file mode 100644 index 000000000..029f777a6 --- /dev/null +++ b/config.h @@ -0,0 +1,13 @@ +#ifndef CONFIG_USER_H +#define CONFIG_USER_H + +#include "../../config.h" + +#undef TAPPING_TERM +#define TAPPING_TERM 200 + +#define PREVENT_STUCK_MODIFIERS + +#define TAPPING_FORCE_HOLD + +#endif diff --git a/keymap.c b/keymap.c new file mode 100644 index 000000000..86fe91f1c --- /dev/null +++ b/keymap.c @@ -0,0 +1,48 @@ +#include "youhei.h" + +const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { + [L_BASE] = KEYMAP( + // left hand + KC_CAPS, KC_7, KC_8, KC_9, KC_0, KC_6, KC_GRV, + KC_LBRC, KC_X, KC_C, KC_L, KC_P, KC_V, KC_BSPC, + KC_QUOT, KC_O, KC_S, KC_R, KC_N, KC_H, + KC_EQL, KC_Q, KC_J, KC_COMM, KC_F, KC_B, KC_ESC, + KC_RCLK, KC_LCLK, KC_LGUI, KC_LALT, KC_LCTL, + // thumb + KC_NO, KC_NO, + KC_NO, + LSFT_T(KC_SPC), FN_T(KC_ENT), KC_MHEN, + // right hand + KC_INS, KC_5, KC_1, KC_2, KC_3, KC_4, KC_CAPS, + KC_DEL, KC_K, KC_G, KC_U, KC_Y, KC_Z, KC_RBRC, + KC_D, KC_T, KC_E, KC_I, KC_A, KC_SCLN, + KC_TAB, KC_W, KC_M, KC_DOT, KC_MINS, KC_SLSH, KC_BSLS, + KC_RCTL, KC_RALT, KC_RGUI, KC_PAUS, KC_PSCR, + // thumb + KC_NO, KC_NO, + KC_NO, + KC_HENK, FN_T(KC_KANA), RSFT_T(KC_SPC) + ), + [L_FN] = KEYMAP( + // left hand + KC_NO, KC_F7, KC_F8, KC_F9, KC_F10, KC_F6, KC_NO, + KC_F11, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_VOLD, KC_VOLU, KC_MUTE, KC_NO, + KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, KC_NO, + KC_NO, KC_NO, KC_TRNS, KC_TRNS, KC_TRNS, + // thumb + KC_NO, KC_NO, + KC_NO, + KC_TRNS, KC_TRNS, KC_NO, + // right hand + KC_NO, KC_F5, KC_F1, KC_F2, KC_F3, KC_F4, KC_NO, + KC_NO, KC_NO, KC_LEFT, KC_RGHT, KC_NO, KC_NO, KC_F12, + KC_HOME, KC_DOWN, KC_UP, KC_END, KC_APP, KC_NO, + KC_NO, KC_NO, KC_PGDN, KC_PGUP, KC_NO, KC_NO, KC_NO, + KC_TRNS, KC_TRNS, KC_TRNS, KC_NO, KC_NO, + // thumb + KC_NO, KC_NO, + KC_NO, + KC_NO, KC_TRNS, KC_TRNS + ), +}; diff --git a/youhei.h b/youhei.h new file mode 100644 index 000000000..2d5af8d66 --- /dev/null +++ b/youhei.h @@ -0,0 +1,61 @@ +#ifndef YOUHEI_H +#define YOUHEI_H + +#include "ergodox.h" +#include "mousekey.h" + +enum Layer { + L_BASE, + L_FN, +}; +#define FN_T(kc) LT(L_FN, kc) + +// click (left, middle, right) +#define KC_LCLK KC_BTN1 +#define KC_MCLK KC_BTN3 +#define KC_RCLK KC_BTN2 + +const uint16_t PROGMEM fn_actions[] = { +}; + +void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) { + switch(id) { + default: + break; + } +}; + + +const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt) { + switch(id) { + default: + break; + } + return MACRO_NONE; +}; + +bool process_record_user(uint16_t keycode, keyrecord_t *record) { + switch(keycode) { + default: + break; + } + return true; +}; + +void matrix_init_user(void) { + ergodox_led_all_off(); +}; + +void matrix_scan_user(void) { + uint32_t state = host_keyboard_leds(); + + if (state & (1 << USB_LED_CAPS_LOCK)) { + ergodox_right_led_2_set(LED_BRIGHTNESS_LO); + ergodox_right_led_2_on(); + } + else { + ergodox_right_led_2_off(); + } +}; + +#endif