2022/06/01

Fortitude60のキーマップ紹介

目次

更新情報

日付内容
2023/1/14追記3を追加しました
2023/1/10追記2を追加しました
2022/9/17追記しました
2022/6/8keymap.cを更新しました

前書き

自作キーボードを持つようになるとやっぱり、キーマップにこだわるようになります。
私の場合、キーマップの改訂をすでに15回以上はやっている気がします。
最近はようやく落ち着いてきたので、この時点でマイルストーンとして紹介します。

キーマップ

レイヤー0: Default

Imgur

レイヤー1: Lower

Imgur

レイヤー2: Raise

Imgur

各種ソースファイルなど

config.h

#pragma once

#define USE_SERIAL

#define RGBLED_NUM 18
#define RGBLIGHT_SLEEP

rules.mk

VIA_ENABLE = no
LTO_ENABLE = yes

MOUSEKEY_ENABLE = no
EXTRAKEY_ENABLE = no
RGBLIGHT_ENABLE = yes

keymap.c

#include "jun.h"

#define _LOWER 1
#define _RAISE 2

#define LOWER TO(_LOWER)
#define RAISE TO(_RAISE)
#define ENG   KC_LANG2
#define JPN   KC_LANG1
#define SPACE KC_SPC
#define ENTER KC_ENT

static bool lower_pressed = false;
static bool raise_pressed = false;
static uint16_t lower_pressed_time = 0;
static uint16_t raise_pressed_time = 0;

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
	switch (keycode) {
		case LOWER:
			if (record->event.pressed) {
				lower_pressed = true;
				lower_pressed_time = record->event.time;

				layer_off(_RAISE);
				layer_on(_LOWER);
			} else {
				if (!lower_pressed || (TIMER_DIFF_16(record->event.time, lower_pressed_time) >= TAPPING_TERM)) {
					layer_off(_LOWER);
				}

				lower_pressed = false;
			}
			return false;
			break;
		case RAISE:
			if (record->event.pressed) {
				raise_pressed = true;
				raise_pressed_time = record->event.time;

				layer_off(_LOWER);
				layer_on(_RAISE);
			} else {
				if (!raise_pressed || (TIMER_DIFF_16(record->event.time, raise_pressed_time) >= TAPPING_TERM)) {
				    layer_off(_RAISE);
				}

				raise_pressed = false;
			}
			return false;
			break;
		default:
			if (record->event.pressed) {
				lower_pressed = false;
				raise_pressed = false;
			}
			break;
	}
	return true;
}

下記の情報を参考にさせて頂きました。ありがとうございます!

追記(2022/9/17)

各種ソースファイルの最新版を公開しています。

追記2(2023/1/10)

キーマップファイルの置き場所を変更しました。
defaultキーマップ(VIA非対応版)はObsoleteとし、viaキーマップに切り替えています。
defaultキーマップ(VIA非対応版)はObsoleteとし、viaキーマップに切り替えています。
その他の変更点は、レイヤーインジケーター(レイヤー毎に、対応するLED色に変更する機能)の導入、RGBLEDアニメーション機能の廃止などです。

追記3(2023/1/14)

キーマップファイルが含まれるリポジトリはこちらです。
QMKバージョンが名称になっているブランチを選択し、キーマップファイルを確認できます。
VIA対応版キーマップは、keyboards/fortitude60/keymaps/via内にあります。


タグ: 自作キーボードfortitude60キーマップ