hhkb: Add unimap_jp
This commit is contained in:
parent
58e9c7ec56
commit
623e04e523
@ -118,6 +118,9 @@ COMMAND_ENABLE = yes # Commands for debug and configuration
|
||||
NKRO_ENABLE = yes # USB Nkey Rollover
|
||||
#KEYMAP_SECTION_ENABLE = yes # fixed address keymap for keymap editor
|
||||
#HHKB_JP = yes # HHKB JP support
|
||||
#UNIMAP_ENABLE = yes
|
||||
#ACTIONMAP_ENABLE = yes # Use 16bit actionmap instead of 8bit keymap
|
||||
#KEYMAP_SECTION_ENABLE = yes # fixed address keymap for keymap editor
|
||||
|
||||
#OPT_DEFS += -DNO_ACTION_TAPPING
|
||||
#OPT_DEFS += -DNO_ACTION_LAYER
|
||||
@ -127,13 +130,22 @@ NKRO_ENABLE = yes # USB Nkey Rollover
|
||||
#
|
||||
# Keymap file
|
||||
#
|
||||
ifdef UNIMAP_ENABLE
|
||||
KEYMAP_FILE = unimap
|
||||
else
|
||||
ifdef ACTIONMAP_ENABLE
|
||||
KEYMAP_FILE = actionmap
|
||||
else
|
||||
KEYMAP_FILE = keymap
|
||||
endif
|
||||
endif
|
||||
ifdef KEYMAP
|
||||
SRC := keymap_$(KEYMAP).c $(SRC)
|
||||
SRC := $(KEYMAP_FILE)_$(KEYMAP).c $(SRC)
|
||||
else
|
||||
ifdef HHKB_JP
|
||||
SRC := keymap_jp.c $(SRC)
|
||||
SRC := $(KEYMAP_FILE)_jp.c $(SRC)
|
||||
else
|
||||
SRC := keymap_hhkb.c $(SRC)
|
||||
SRC := $(KEYMAP_FILE)_hhkb.c $(SRC)
|
||||
endif
|
||||
endif
|
||||
|
||||
|
4
keyboard/hhkb/Makefile.unimap.jp
Normal file
4
keyboard/hhkb/Makefile.unimap.jp
Normal file
@ -0,0 +1,4 @@
|
||||
HHKB_JP = yes
|
||||
UNIMAP_ENABLE = yes
|
||||
KEYMAP_SECTION_ENABLE = yes
|
||||
include Makefile
|
222
keyboard/hhkb/unimap_common.h
Normal file
222
keyboard/hhkb/unimap_common.h
Normal file
@ -0,0 +1,222 @@
|
||||
/*
|
||||
Copyright 2016 Jun Wako <wakojun@gmail.com>
|
||||
|
||||
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/>.
|
||||
*/
|
||||
#ifndef UNIMAP_COMMON_H
|
||||
#define UNIMAP_COMMON_H
|
||||
|
||||
#include <stdint.h>
|
||||
#include <avr/pgmspace.h>
|
||||
#include "unimap.h"
|
||||
|
||||
|
||||
/* HHKB JP
|
||||
* ,-----------------------------------------------------------.
|
||||
* |` |1 |2 |3 |4 |5 |6 |7 |8 |9 |0 |- |= |JPY|BS |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Tab |Q |W |E |R |T |Y |U |I |O |P |[ |] |Enter|
|
||||
* |------------------------------------------------------` |
|
||||
* |Caps |A |S |D |F |G |H |J |K |L |; |' |# | |
|
||||
* |-----------------------------------------------------------|
|
||||
* |Shift |Z |X |C |V |B |N |M |, |. |/ |Ro |Up |Shi|
|
||||
* |-----------------------------------------------------------|
|
||||
* |Ctl||Esc|Gui|Alt|Mhn| |Hen|Kan|Alt|Ctl||Lef|Dow|Rig|
|
||||
* `-----------------------------------------------------------'
|
||||
* Esc = Grave(`)
|
||||
* Control = Caps Lock
|
||||
* Left Fn = Left Control
|
||||
* Right Fn = Right Control
|
||||
*/
|
||||
// row:16 x col:8
|
||||
const uint8_t PROGMEM unimap_trans[MATRIX_ROWS][MATRIX_COLS] = {
|
||||
// 0
|
||||
{
|
||||
UNIMAP_NO,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_GRAVE,
|
||||
UNIMAP_TAB,
|
||||
UNIMAP_LCTRL,
|
||||
UNIMAP_LSHIFT,
|
||||
UNIMAP_CAPSLOCK,
|
||||
UNIMAP_NO,
|
||||
},
|
||||
// 1
|
||||
{
|
||||
UNIMAP_NO,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_4,
|
||||
UNIMAP_E,
|
||||
UNIMAP_MHEN,
|
||||
UNIMAP_C,
|
||||
UNIMAP_D,
|
||||
UNIMAP_NO,
|
||||
},
|
||||
// 2
|
||||
{
|
||||
UNIMAP_NO,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_3,
|
||||
UNIMAP_W,
|
||||
UNIMAP_LALT,
|
||||
UNIMAP_X,
|
||||
UNIMAP_S,
|
||||
UNIMAP_NO,
|
||||
},
|
||||
// 3
|
||||
{
|
||||
UNIMAP_NO,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_1,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_ESCAPE,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_NO,
|
||||
},
|
||||
// 4
|
||||
{
|
||||
UNIMAP_NO,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_NO,
|
||||
},
|
||||
// 5
|
||||
{
|
||||
UNIMAP_NO,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_5,
|
||||
UNIMAP_R,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_V,
|
||||
UNIMAP_F,
|
||||
UNIMAP_NO,
|
||||
},
|
||||
// 6
|
||||
{
|
||||
UNIMAP_NO,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_2,
|
||||
UNIMAP_Q,
|
||||
UNIMAP_LGUI,
|
||||
UNIMAP_Z,
|
||||
UNIMAP_A,
|
||||
UNIMAP_NO,
|
||||
},
|
||||
// 7
|
||||
{
|
||||
UNIMAP_NO,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_6,
|
||||
UNIMAP_T,
|
||||
UNIMAP_SPACE,
|
||||
UNIMAP_B,
|
||||
UNIMAP_G,
|
||||
UNIMAP_NO,
|
||||
},
|
||||
// 8
|
||||
{
|
||||
UNIMAP_NO,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_9,
|
||||
UNIMAP_I,
|
||||
UNIMAP_KANA,
|
||||
UNIMAP_COMMA,
|
||||
UNIMAP_K,
|
||||
UNIMAP_NO,
|
||||
},
|
||||
// 9
|
||||
{
|
||||
UNIMAP_NO,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_8,
|
||||
UNIMAP_U,
|
||||
UNIMAP_HENK,
|
||||
UNIMAP_M,
|
||||
UNIMAP_J,
|
||||
UNIMAP_NO,
|
||||
},
|
||||
// A
|
||||
{
|
||||
UNIMAP_NO,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_7,
|
||||
UNIMAP_Y,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_N,
|
||||
UNIMAP_H,
|
||||
UNIMAP_NO,
|
||||
},
|
||||
// B
|
||||
{
|
||||
UNIMAP_NO,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_0,
|
||||
UNIMAP_O,
|
||||
UNIMAP_RALT,
|
||||
UNIMAP_DOT,
|
||||
UNIMAP_L,
|
||||
UNIMAP_NO,
|
||||
},
|
||||
// C
|
||||
{
|
||||
UNIMAP_NO,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_BSPACE,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_RIGHT,
|
||||
UNIMAP_RSHIFT,
|
||||
UNIMAP_ENTER,
|
||||
UNIMAP_NO,
|
||||
},
|
||||
// D
|
||||
{
|
||||
UNIMAP_NO,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_JYEN,
|
||||
UNIMAP_RBRACKET,
|
||||
UNIMAP_DOWN,
|
||||
UNIMAP_UP,
|
||||
UNIMAP_NONUS_HASH,
|
||||
UNIMAP_NO,
|
||||
},
|
||||
// E
|
||||
{
|
||||
UNIMAP_NO,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_MINUS,
|
||||
UNIMAP_P,
|
||||
UNIMAP_RCTRL,
|
||||
UNIMAP_SLASH,
|
||||
UNIMAP_SCOLON,
|
||||
UNIMAP_NO,
|
||||
},
|
||||
// F
|
||||
{
|
||||
UNIMAP_NO,
|
||||
UNIMAP_NO,
|
||||
UNIMAP_EQUAL,
|
||||
UNIMAP_LBRACKET,
|
||||
UNIMAP_LEFT,
|
||||
UNIMAP_RO,
|
||||
UNIMAP_QUOTE,
|
||||
UNIMAP_NO,
|
||||
},
|
||||
};
|
||||
|
||||
#endif
|
45
keyboard/hhkb/unimap_jp.c
Normal file
45
keyboard/hhkb/unimap_jp.c
Normal file
@ -0,0 +1,45 @@
|
||||
/*
|
||||
Copyright 2016 Jun Wako <wakojun@gmail.com>
|
||||
|
||||
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 "unimap_common.h"
|
||||
|
||||
|
||||
#define AC_FN0 ACTION_LAYER_MOMENTARY(1)
|
||||
|
||||
#ifdef KEYMAP_SECTION_ENABLE
|
||||
const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] __attribute__ ((section (".keymap.keymaps"))) = {
|
||||
#else
|
||||
const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] PROGMEM = {
|
||||
#endif
|
||||
UNIMAP(
|
||||
NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO,
|
||||
ZKHK, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO, NO,
|
||||
ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, JYEN,BSPC, NO, NO, NO, NO, NO, NO, NO,
|
||||
TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC, BSLS, NO, NO, NO, NO, NO, NO, NO,
|
||||
LCTL,A, S, D, F, G, H, J, K, L, SCLN,QUOT, NUHS,ENT, NO, NO, NO, NO,
|
||||
LSFT,NO, Z, X, C, V, B, N, M, COMM,DOT, SLSH, RO, RSFT, UP, NO, NO, NO, NO,
|
||||
FN0, LGUI,LALT,MHEN, SPC, HENK,KANA,RALT,NO, NO, FN0, LEFT,DOWN,RGHT, NO, NO, NO
|
||||
),
|
||||
UNIMAP(
|
||||
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,
|
||||
TRNS, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,
|
||||
PWR, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, INS, DEL, TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS,
|
||||
CAPS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PSCR,SLCK,PAUS,UP, TRNS, TRNS, TRNS,TRNS,TRNS, TRNS,TRNS,TRNS,TRNS,
|
||||
TRNS,VOLD,VOLU,MUTE,TRNS,TRNS,PAST,PSLS,HOME,PGUP,LEFT,RGHT, TRNS,PENT, TRNS,TRNS,TRNS,TRNS,
|
||||
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PPLS,PMNS,END, PGDN,DOWN, TRNS,TRNS, PGUP, TRNS,TRNS,TRNS,TRNS,
|
||||
TRNS,TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, HOME,PGDN,END, TRNS, TRNS,TRNS
|
||||
),
|
||||
};
|
Loading…
Reference in New Issue
Block a user