2022-12-30

meishi2キーボードを買って、キーを押したら「こんにちは~~」と出るようにしてみた

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

自作キーボードにちょっと興味が出たので、お気軽に試せそうなmeishi2キーボードを買ってみました。

購入は、遊舎工房から買ってみました。

https://shop.yushakobo.jp/products/834

作り方は、以下を見ながらです。

https://biacco42.hatenablog.com/entry/2019/08/10/185624

はんだづけは、へたくそなので作ったものはお見せできませんが、はんだづけする箇所はそんなに多くないので、へたくそでもきちんと動きました。

ファームウェアは、いろいろカスタマイズできそうなCUIを使った方法で行いました。

WSL2を利用して実施しています。

基本は、上記手順に書いてある方法でよいのですが、WSL2環境だとちょろちょろコンパイルする際にエラーが出ましたが以下を参考にすることでだいたい解決しました。

http://www.neko.ne.jp/~freewing/hardware/qmk_setup_environment_build/

コンパイルはできるのですが、WSL2からファームウェアを焼くことがどうもうまくいかなかったので、ファームウェアをやくときは、windows側にQMK Toolboxを以下から取得してインストールして行いました。

https://github.com/qmk/qmk_toolbox/releases

Windows側からWSL2のファイルを見るには、

\\wsl$

と指定すれば見れるので、wsl2側で作成したhexファイルを直接指定することができます。


カスタマイズとして、キーを押したら「こんにちは~~」と出るようにします。

meisihi2のデフォルトのキーマップは

qmk_firmware/keyboards/biacco42/meishi2/keymaps/default

にあるので、この横にカスタマイズ用ファイルの置き場所を以下のような感じで作ります。

qmk_firmware/keyboards/biacco42/meishi2/keymaps/mymap

このディレクトリの中に今回は以下の3つのファイルを用意しました。

config.h

keymap.c

rules.mk

それぞれ内容は以下になります。

config.h

今回WINDWOS環境を利用するのでUNICODE_MODE_WINCOMPOSEを指定しています。

---------------------------
#define UNICODE_SELECTED_MODES UNICODE_MODE_WINCOMPOSE
---------------------------


keymap.c

---------------------------
#include QMK_KEYBOARD_H

//KC_AとKC_Bを指定していますが、使わないキーを適当に割り当てています
enum custom_keycodes {
    HASE = KC_A,
    WATA = KC_B,
};

const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  [0] = LAYOUT( /* Base */
    HASE, WATA, LCTL(KC_C), LCTL(KC_V)
  )
};

bool process_record_user(uint16_t keycode, keyrecord_t *record) {
  switch (keycode) {
    case HASE:
      if (record->event.pressed) {
        send_unicode_string("こんにちは~~");
      }
      return false;
      break;
    case WATA:
      if (record->event.pressed) {
        send_unicode_string("うるせ~よ");
      }
      return false;
      break;
  }
  return true;
}
---------------------------


rules.mk

ユニコードが利用できるようにします。

---------------------------
UNICODE_ENABLE = yes
---------------------------


これで以下のようにファームウェアをコンパイルします。

make biacco42/meishi2:mymap

出来上がったhexファイルをmeishi2にやきます。


meishi2側は、これでOKなのですが、このままでキーを押すとWindows側にはなんか数字やらがたくさん出てくる感じなってしまいます。

日本語を受け取るにはWindows側に以下からWinComposeを取得してインストールする必要があります。


これで無事にキーを押したら

「こんにちは~~」

と出てきてくれます。