天高工房

キーキャップに印字して遊んだり電子工作して遊んだりしたことを書くかもしれません。

QMK configuratorでinfo.jsonのプレビューをする

config.qmk.fm

現在QMKで新しいキーボード定義を作ってmergeしてもらうためにはinfo.jsonが必要です。 しかし、このinfo.jsonが正しいものであるかを確認することが割と面倒です。 レビュー時に表示チェックはたぶんやってないので、表示が破綻してても通ってしまいます。

info.jsonの確認機能はQMK configuratorが持っています。 Ctrl+Shift+Iでファイル選択ダイアログが開きます。 ここで読み込ませたいinfo.jsonを選択するとプレビューできます。

その際、キーボード名とキーマップ名はinfo.jsonのプレビューであることを示す名前になります。

f:id:skyhigh_works:20210407192652p:plain
プレビューであることを示す表示部分

【QMK】VSCodeでKeycodeの補完を有効にする

この記事は キーボード #1 Advent Calendar 2020の1日目の記事です。

VSCode、Keycode補完できそうだけどやれるかなって試したら動いたので共有します。

やり方

keymap.cに以下の内容を追加してください。

#include "keycode.h"

f:id:skyhigh_works:20201128153205p:plain
キーコード補完例

日本語配列キーコードを使いたければ以下も追加してください

#include "keymap_extras/keymap_jp.h"

f:id:skyhigh_works:20201128152724p:plain
日本語配列キーコード補完例

お願い

私の環境では動いたけど、なんか追加設定必要かもしれないので動いたとか動かなかったとか報告いただけると助かります。

もし動かなかったとしたら、以下のドキュメントで紹介されている.vscode/c_cpp_properties.jsonを追加したら動くかもしれません。

beta.docs.qmk.fm

c_cpp_properties.json · GitHub

お約束

この記事はJP60SSで書きました。

他の日は以下のリンクから移動してください。

adventar.org

#NT名古屋 に参加した話

ただの覚書です。

参加経緯

去年様子見に行って楽しかったから出したかった、というだけです。 毎度イベントごとは告知が多くなったあたりで気づいて、そのころには出展募集終わってるということが多いですが今回はオンライン開催だったのでなんかいい感じに滑り込めました。

準備

なんもしてないです。ありもの紹介しました。 たまたま直前に新しい基板届いたり新しいキーキャップ印刷したりしたというのもありました。

話したこと

ノープランではじめましたが、だいたい以下のことを話しました。

  • このキーボードは何が特徴的か
  • どういう思想で使っているか
  • 実際何ができるか

webcamで手元を映しつつ、メモ帳やSwitchHitterを使って実際の入力を見せつつ紹介していました。

紹介したのはざっくり三つです。

  • JP60
  • JP60 Split
  • hecomi v0(under 自前キーキャップ)

JP60(JP60SS)

スプリットスペースの60%キーボードです。

親指で色々できることが売りです。 具体的には、スペースキーを4つに割って、左からDelete,Space,Enter,Backspaceを割り当てています。

ただ、最近真価を感じてるのは、左手キーボードとして使うときです。 普段使いは後述のJP60 Splitなのですが、KiCADを使うときに移動コマンドがMで専用キーマップを起こすのもめんどくさい気持ちで使っています。 Mは右手にあるので、右手がトラックボールを掴んでいると非常に使いづらいです。 結果として、60%キーボードを左手キーボードの延長として使っています。 その際、親指周りに右端に配置されてるキーが存在しているのでなかなか都合がいいのです。 左手を右側までもっていかなくていいがとてもよいです。

また、親指キーの一部キーは長押し時の挙動が異なること、長押ししてるときはWASDやHJKLが矢印になったり、数字キーがFn(nは自然数|n<=12)キーになったりすることを紹介しました。

JP60 Split

旧名Otaku Splitです。

単に60%キーボードを分割したものが欲しかったので設計しました。 私のタイピング理念は相対距離感覚命なので、なるべく普段のタイピングがそのまま行えることを意識して設計しています。 特に、ホームポジションに対して中央になるBおよびそれに準ずる6Yが左右に配置されています。 1列1指割り当てのタイピング方法は否定派です。あれはOrtholinearで結果的にそんな感じになるというものであって少なくとも普及配列に対して適用できるものではないです。 マナー講師のタイピング版ともいえる増田式の提唱者の増田氏も自身が著書でさらっと述べています*1

胸が大きめで体の前にキーボードを置くと背中が丸まって辛いという問題の解決策になっています。

hecomi v0

HHKB layout basedの、2年前に知人向けに設計したやつの再設計をしたやつです。 JP60 Splitからのフィードバックを入れたのですが、かなり癖のある感じになったのでどうなんだろうなぁ、という気持ちがちょっとあります。

具体的には、無意識なのですが、HHKBに比べてスペースキーをそのまま短くした感じになっています。 そのため、Altキーが1キー分程度内側によっています。

自作キーキャップ

昇華転写してます。PBTならいけます。

ポップなフォントいれたりすると楽しいです。もれなくフォント沼に落ちます。

その他

適当に色々話しました。

棚とか机、大きいの1台どーんっていれると、引っ越しや模様替えでしんどいよ、みたいな話をしました。 間口通らないはまだましなケースで、廊下や階段曲がれないなんて罠もあります。 個人的には、棚は幅1200mmが限界で、900mm程度に抑えると取り回しがよいのではないか、と思います。

flexispotの罠の話もしました。あがるほうよりも700mmよりも低い位置へ下がるほうがうれしいのだけど、安い価格帯のやつだと下限が700mmになってる、とかそこらへんです。 一番の罠である、重量が35kgあることは話し忘れました。

配信の構成について

  • OBSの仮想カメラをだしてました
  • 適当にウィンドウ配置すればいい感じになります
  • webcamはZ-lightの頭に縛り付けててもと映しました
  • マイクはUMC22+SM58
  • ZOOMは音声フィルタ周りいいかんじだったからよかった
  • 音声にフィルタかけずにそのまま流すサービスだとあらゆる音を拾うので地獄
  • 閾値設定してそれより小さい音は流さないというのは最低限やりたい
  • 音周りはやっぱりDiscordが強い気がする(ノーマライズ以外)

その他

工作室紹介がとてもよかったです。得られることしかなかった。 特にでんはちゃんねるさんの整理がすごくてよかった... mikekomaさんの展示棚とかGHz2000さんの机・3Dプリンタケースなどなど面白いものがいっぱいありました。 だいたい誰かが一個出すと補足や追加提案が入るのがとても良かったです。

工作室紹介がすごく良かったので、工作室、収納用品、工具紹介だけのイベントがあってもいいかもしれないけど、その前にやっぱり自分が作ったもの紹介したいから今回のスタイルはとても良かったのではないかと思いました。

*1:世間のキーボードもテンキーのように整列していればわかりやすいのだけどそうではない、世間のキーボードがテンキーのように整列した配列になりますようにって祈りから説明の図を全部Ortholinearでしているそう

JP60 Split(Otaku Split v2)の紹介

簡単に

部品表(BOM)

必須かどうか 番号 部品名 数量 型番 注釈
1 マイコンボード 2 pro micro 互換ピン配置基板でも可
推奨 2 コンスル 2 XB-3-2.5-12P 13pの場合は13p
3 ダイオード 74 1N4148W SOD-123のフットプリントのもの
好み 4 MXスイッチソケット 74 CPG151101S11
5 MXスイッチ 74 any MXスイッチと同様のフットプリントのもの
6 キーキャップセット 1 any 108キーキャップセットか同等の組み合わせが可能なキーキャップセット
推奨 7 2uスタビライザー 2 any プレートマウントのものであれば後入れ可
8 TRRSジャック 2 MJ-4PP-9
9 M2ねじ 4mm 24 any 低頭ねじ推奨
10 M2スペーサー 8mm 8 any 両雌ねじ、たぶん7mmくらいでもいける
11 M2スペーサー 12mm 4 any 両雌ねじ、たぶん10mmくらいでもいける
12 ウレタンクッション 8 any 2-3mm程度の厚さのもの
13 3.5mmオーディオケーブル 1 any 3極か4極
14 USBケーブル 1 any マイコンボードのUSB端子と一致するもの

組み立て手順

ファームウェアマイコンボードに書き込む

  • マイコンボードに不良がないかを先に確認するために最初に実施します

はんだづけをする

  • 原則低い部品/小さい部品からやっていきます
  • ソケット・ダイオードマイコンボードには向きがあります
    • フットプリントとマークをよく確認してください

スイッチを取り付ける

動作確認をする

  • 入力ができないスイッチがあったら、取り付け・はんだ付けを見直します

ネジ止めを行う

キーマップ考える

新しいファームウェア書き込む

次のステップ

キーマップ考える

キーキャップ変える

キースイッチ変える

ケース作る

電気的に拡張する

新規設計する

hecomi v0 ビルドガイド

簡単な紹介

  • HHKB based layout
  • 左右分割
  • 6YBとHが両側
  • 親指キー多め
  • 実験的試作(promicroカバーあたり)

部品表(BOM)

必須かどうか 番号 部品名 数量 型番 注釈
1 マイコンボード 2 pro micro 互換ピン配置基板でも可
推奨 2 コンスル 2 XB-3-2.5-12P 13pの場合は13p
3 ダイオード 69 1N4148W SOD-123のフットプリントのもの
好み 4 MXスイッチソケット 69 CPG151101S11
5 MXスイッチ 69 any MXスイッチと同様のフットプリントのもの
6 キーキャップセット 1 any 104キーキャップセットで、追加で1.75u Shift, 1u Backspaceのあるもの
推奨 7 2uスタビライザー 2 any プレートマウントのものであれば後入れ可
8 TRRSジャック 2 MJ-4PP-9
9 M2ねじ 4mm 36 any 低頭ねじ推奨
10 M2スペーサー 8mm 10 any 両雌ねじ、たぶん7mmくらいでもいける
11 M2スペーサー 12mm 8 any 両雌ねじ、たぶん10mmくらいでもいける
12 ウレタンクッション 8 any 2-3mm程度の厚さのもの
13 3.5mmオーディオケーブル 1 any 3極か4極
14 USBケーブル 1 any マイコンボードのUSB端子と一致するもの

組み立て手順

マイコンボードにファームウェアを書き込む

はんだづけをする

スイッチを取り付ける

  • ソケットの場合は四隅と真ん中をはめてから真ん中から外に向かってやっていくとプレートにちゃんとはめることがやりやすいかも
  • はんだづけする場合はの場合は足が曲がってないことを確認してから向きを確認しつつプレートにはめて被せるといいかも

動作確認をする

  • 全スイッチ押してみて入力が確認できなかったらテスターで調査・修正をする

ねじ・スペーサをプレートに取り付ける

底板を取り付ける

  • 溝で割る
    • promicroの行とそれ以外で別のPCBになる

ゴム足を付ける

真のファームウェアに修正する

次のステップ

キーマップを作成する

挙動をチューニングする

ケースを作成する

キーキャップ・スイッチを変更する

電気的に拡張する

GH60ケース互換日本語配列キーボード基板「JP60」の興味調査

先日訳あり版としてv1をBoothに出しましたが、改めて興味調査(Interest Check,IC)を実施したいと思います。

booth.pm

フォームはこちら。欲しいと思う方、「ここが変わったら欲しいのにな」と思う方は回答いただけるとうれしいです。2020/08/31を締めきり予定としています。

docs.google.com

実施するにあたって、前提の話がありますのでそれをここに書こうと思います。

JP60の概要

JP60は2020年現在の普及配列である、日本語108キーボード*1の60%サイズのキーボード基板として設計しました。 108キーボードのテンキー、カーソルキー領域、ファンクションキー列を削除したような配列が60%配列です。

現在まで、すでに絶版品であるDuckyの60%キーボード程度しか60%の日本語配列キーボードはありませんでした。 私が英語配列を使う気があまりないことと、特に誰も準備していなさそうなこと、そしてどうせやるなら親指いい感じしたいよねということでJP60を設計しました。

特徴は以下の通りです。

  • Majestouch/Archissの交換キーキャップを使って定番配列が組める
  • 親指に4.5uスペースキーの代わりに1u 4キーを割り当てられる
    • 私は左から Delete Space Enter Backspaceを割り当てています
    • Deleteが左手で押せるのが一番便利です

keyboard layout editorによるレイアウトは以下。

www.keyboard-layout-editor.com

f:id:skyhigh_works:20200823201544j:plain

f:id:skyhigh_works:20200823201554j:plain

課題

課題としては2点です。

  • キーキャップ
  • スタビライザ

キーキャップ

基本的に、販売されているキーキャップセットで揃えられるように設計をしないと、無刻印キーキャップを交えてそろえる必要が発生してしまいます。 幸い、国内でもArchisiteとDiatecがそれぞれのキーボード向けの交換用キーキャップセットを出していて、通販で容易に手に入ります。 これらであれば最低限の記号等は刻印と入力が一致しますので、移行も容易です。

二つ目の選択肢としては、ISO Enter及びHHKB layout向けの右Shiftが含まれていて、かつ最下行の1.25uや1uのキーキャップが多く含まれているキーキャップセットを購入することです。 主にGMKのような高めのキーキャップセットが該当します。GMKであれば多くの物理配列をサポートするオプションが多く存在しています。

三つ目の選択肢としては、DSAやXDAといった、行の区別のないキーキャップセットを使うことです。無刻印のものをうまく使うことで大体の物理配列は網羅することができます。

スタビライザ

3つ提示しましたが、このうちArchisiteとDiatecが採用している4.5uサイズのスペースキーは後者二つには存在しません。 また、国内にしか存在していないことから、キットで使われるスタビライザーには4.5u向けのものはありません。

そのため選択肢として以下の二つが発生します。

  • 4.5u向けスタビライザーワイヤーを制作する
  • 4.5uキーを使わない

v1では、4.5uキーと1uキー4つのいずれかを配置できるようにしました。プレートもそれぞれ用を用意しました。 また、私が真鍮線を曲げた4.5u向けスタビライザーワイヤーを付属しています。

親指に関して

planck, Ergodoxなどと同様、親指が押せるキーを増やして入力を快適にすることを提案しています。

具体的には2つの役目があります

  • よく使うけれど微妙に遠いキーを配置する
  • レイヤー切り替えキーとして使う

長押ししたときはレイヤー切り替え、短く押したときはスペースキーというような動作も可能です。

私の場合は左手側の2キーがDelete, Space、右手側の2キーがEnter, BackSpaceとなっています。 これは大体どのキーボードでも左手の親指で、2キー目の位置しか叩いていなかったからです。もうちょっと叩く範囲が広かったりずれている方はほかのキーに/にもSpaceキーをアサインするとよいでしょう。 そして、最近ショートカットキーとして割り当てられることが多いDeleteキーが左手にあるということが私にはすごくうれしいです。何故ならば、右手にマウスを持っている場合に、右手でオブジェクトを選択肢して、手元を見ながら左手で右端にあるDeleteキーを押すということをしなくてもよいからです。

矢印キー

60%配列に矢印を埋め込む場合、右シフトの1.75uが曲者です。2u以上のキーでないと二つのキーには分割できません*2

左シフトを2.25uから2u(テンキーの0)に変更して、Z行をすべて0.25u左でずらすと、右側の空間が1.75uから2uになるので1u x2にできます。 これは、通常の配列とソケットで両立させることは難しいので、はんだ付け基板のみになる見込みです。

参考までに、Majestouchキーキャップセットのみで取りうる配列を用意しましたのでご覧ください。 親指をすべて1uにするには1キー足りませんでした。もうちょっと何かやりかたがあるかもしれません。

www.keyboard-layout-editor.com

また、最近の流行としては、スペースキーをレイヤーシフトキー兼用とすることがあります*3。いわゆるFnキーと同様でスペースキーを長押ししている間は数字キーをFn(nは1から12までの整数)として扱うような機能です。 フルキーボードから削られてしまったようなキーは、この方法を使って別レイヤーに押し込みます。

別レイヤーでは例えばvi/vimスタイルのHJKLで←↓↑→の移動や、ゲームでよくあるWASDもしくはESDF,ASDFといったキーにカーソルキーを割り当てることができます。 慣れるまでは思った通りに移動することができずもどかしいですが、練習をして慣れるとホームポジションのままカーソルの移動ができるようになるので、独立カーソルキーよりも便利になります。

興味調査のフォーム

基本的には自分用には今回と同じ構成で特に修正はいらないのではないか、と考えています。

どんな構成なら欲しいのか、こんなことはできないの?などご意見ください!2020/08/31を締めきり予定としています。

回答数を製造数の目安にするので、ほしい!って人は回答していただくようお願いいたします*4

販売開始は10月半ば~11月予定です。

docs.google.com

待ちきれない人向け

ミスがあったので手で修正していますが、それ以外はキーボードとして正常に動作する基板です。販売予定額よりちょっと安くしてます。 買っていただけると予算に余裕ができるのでうれしいです。

booth.pm

余談

これまで散々配列研究をしてきた結果、「現在の普及配列をJISと呼ぶのはよくないのではないか」という気持ちが強くなったため、原則「日本語配列」「JP配列」などの言いかえをするようにしています。 いくらかのメーカーのキーボードを見たところ、Appleバッファローの一部を除いて、108が主流になって以降はJIS配列ではなく日本語配列、型番でもJPなどとなっています。

論拠としては、2020年現在の普及配列はOADG109Aから右ウィンドウズキーを削除した108キーの配列です。これがJIS配列と呼称されることがある配列です。

雑におさらいをすると、以下の要件を満たすものを日本語配列とするケースが多いです。

  • ISO同様の拡張キーがバックスペースの左に一つある
  • EnterキーがISO Enterである
  • 日本語配列独自の拡張キーがスペースキーの左に2個ある
  • 日本語配列独自の拡張キーがスペースキーの右に2個ある
  • 日本語配列独自の拡張キーが右シフトキーの左に1個ある
  • 記号ペアがロジカルペアリングである

そしてJISは国家規格です。「JIS規格の内容を基にしてるからJIS配列」としている人もいますが、規格外のものにJISを冠すると製造業の人に埋められます*5

JIS規格品には2種類あります。

  • JIS適合
    • 認定機関によって認定されたもの
  • JIS準拠
    • 自主検査によるもの

キーボードには認定機関はありませんので自主検査によるしかないのですが、JIS X 6002を一通り読んだ限りだと、1. 適用範囲と6. 適用に関する付帯規則により、OADG109AはJIS準拠であるとは考えられませんでした。 JISはキーボードで初めて読んだのですが、雑に解釈した限りだと、規定されていないキーを追加できる場所に強い制限があるようで、スペースキーと同じ行にキーを追加することができないような書き方に見えます。

普及配列は、JISで規格されてる文字数字記号以外のもののほとんどが置き換わってしまっている上に、規定外の箇所にキーが多数追加されているように思います。

この解釈はあくまでも私の感想ですので、気になる人は以下で X6002およびX4064を検索して読んでみてください。 詳しい人に解説していただけるとなおうれしいです。

www.jisc.go.jp

ということで、極力「JIS配列」という単語を使うことを避けている状態です。 いずれはJIS準拠物理配列のキーボードを出したいなぁという気持ちがあります*6

タイピングには体が覚えた相対位置が非常に重要であると考えています。 普及配列の相対位置を崩さないようにすることで打鍵体験を維持してかつ親指の役割強化による利点を提案できるのではないかという思いからJP60を提案させていただきます。

*1:OADG109Aベースで右Windowsキーを削除した108キーの配列

*2:1uよりも小さいキーキャップが基本的に存在しないため

*3:スペース長押しでホバリングできるゲームで跳べなくて困ったので私はスペースキー以外の親指周辺のキーに割り当てています。文字書きレイヤーとゲームレイヤーをそれぞれ用意して、使途によってデフォルトレイヤーを切り替えるという手もあります

*4:在庫抱える体力はないです

*5:偏見です

*6:たぶん現在のコンピューターでは不便でしょうがないです

JP60(IC版)組み立て手順

全体の流れ

  • 念のためファームウェア書き込みの基本手順を確認する
  • ピンセットなどで全キー入力ができることを確認する
  • スタビライザを取り付ける
    • あとから取り付けられなくもないけれど、該当部スイッチは一度外す必要がある
  • 四隅にスイッチを取り付ける
    • プレートの高さを決める
  • 真ん中からスイッチを取り付けていく
    • たわみで中心部のスイッチの爪がプレートにかかりにくいことがある
  • ケースにキーボードを取り付ける
    • ネジ留め6か所
  • キーキャップを取り付ける
  • 入力確認!
  • 完成!

念のためファームウェア書き込みの基本手順を確認する

手順

  • 何らかの方法でファームウェア(hexファイル)を手に入れる
  • QMK toolboxをダウンロード・起動する
  • QMK toolboxのファイル選択で先に用意したファームウェアファイルを選択する
  • QMK toolbox 右上Flashボタンの下にあるAuto-Flashにチェックを入れる
  • 基板を裏返した状態でUSBケーブルでPCと接続する
  • 基板裏側真ん中らへんにある6個のピンのうち、RST・GNDと対応する文字が読める向きで右端の2穴をピンセットなどの金属で触って短絡させる(リセットをする)

f:id:skyhigh_works:20200913010005j:plain

  • ピンセットなどの金属を穴から離し、QMK toolboxが書き込みを始めることを確認する
  • 書き込みに成功した場合、おそらく次のようなメッセージが表示される
>>> dfu-programmer.exe atmega32u4 erase --force
    Erasing flash...  Success
    Checking memory from 0x0 to 0x6FFF...  Empty.
>>> dfu-programmer.exe atmega32u4 flash "\path_to_your_file\jp60_default.hex"
    Checking memory from 0x0 to 0x407F...  Empty.
    0%                            100%  Programming 0x4080 bytes...
    [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]  Success
    0%                            100%  Reading 0x7000 bytes...
    [>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>]  Success
    Validating...  Success
    0x4080 bytes written into 0x7000 bytes memory (57.59%).
>>> dfu-programmer.exe atmega32u4 reset

ファームウェアを更新し、組み立てたあとはスペースキー(長いスペースキー向けのファームウェアだと無変換キー)とBキーを押し続けた状態でUSBケーブルを指し直し、1秒後にスペースキーとBキーを離すとファームウェア書き込みのためのリセットをかけられます。

ピンセットなどで全キー入力ができることを確認する

基板にはまだスイッチが取り付けられていません。スイッチは繋がっていない線を押し込んだ時だけ繋いでくれる部品です。 スイッチの代わりに、金属線や金属製のピンセットでスイッチが刺さるはずの箇所を繋ぐとスイッチを押したのと同じことになります。

裏面から、スイッチソケットの金属部の左右を繋いで、入力されることを確認してください。 一部の特殊な日本語配列のキー(半角全角、英数、変換、無変換、カタカナひらがな)はツールによっては確認できない場合があります。

スタビライザを取り付ける

スタビライザー組み立て

写真のように組み立てます。ワイヤーのサイズによらず、同様に組み立てます。

ワイヤーの取り付けは、プラスチックパーツの状態がペンチで挟んでいる写真のような状態だと取り付けやすいです。

f:id:skyhigh_works:20200823001607j:plain

f:id:skyhigh_works:20200823001627j:plain

f:id:skyhigh_works:20200823001511j:plain

スタビライザーの取り付け

  1. ワイヤー部分を中央の溝から下にくぐらせる
  2. スタビライザーのワイヤー側をプレートに引っ掛ける
  3. 逆側を爪が引っ掛かるまで押し込む

f:id:skyhigh_works:20200823002044j:plain

f:id:skyhigh_works:20200823002049j:plain

四隅にスイッチを取り付ける

まず、スイッチの脚がまっすぐになっているかどうかを確認してください。ななめになったり、先端が曲がっているようであればペンチでまっすぐにしてください。曲がった状態で取り付けようとすると、スイッチおよびソケットを破損する原因になります。ソケットの刺さらない場所にぶつかって押し込むことになるので、ソケットが基板から剥がれるか、スイッチの脚が曲がるかのどちらかになります。

脚が曲がっている例は次の写真です。

f:id:skyhigh_works:20200823003920j:plain

ソケットを抑えながらスイッチを取り付けてください。

写真のような状態になります。

f:id:skyhigh_works:20200823002159j:plain

真ん中からスイッチを取り付けていく

写真のような状態からはじめます。

f:id:skyhigh_works:20200823002202j:plain

最終的に、カタカナひらがなキーを除いてすべてのスイッチを取り付けます。 カタカナひらがなキーだけ先についているとネジが締めれない恐れがあります。

f:id:skyhigh_works:20200823003957j:plain

ケースにキーボードを取り付ける

注意点が1点だけあります。

USB端子が外周から飛び出している形状です。USB端子をケースのUSB端子穴に差し込んでから全体をいれてください。引っ掛かるので無理やり入れようとするとUSB端子を破損する恐れがあります。

取り出すときも同様なのでお気を付けください。

f:id:skyhigh_works:20200823003952j:plain

f:id:skyhigh_works:20200823004019j:plain

f:id:skyhigh_works:20200823004026j:plain

6か所ネジ留めしてください。

最後にカタカナひらがなキーの箇所にスイッチを取り付けてください。

キーキャップを取り付ける

用意したキーキャップを取り付けてください。

これで組み立ては完了です。

f:id:skyhigh_works:20200823152950j:plain

ファームウェアを用意する

テスト用ファームウェア

テスト用のファームウェアのURLは以下です。

defaultがスペースキー分割配列用、regularが長いスペースキー用です。

1drv.ms

defaultのキー配列は以下から確認できます(keymap.c)。

github.com

regularのキー配列は以下から確認できます(keymap.c)。

github.com

配列の大雑把な説明

  • 表レイヤーは見た通りです。
  • 親指が四キーの場合はDelete, Space, Enter, Backspaceです。
    • このうちSpace以外は押しっぱなしにしている間レイヤーが切り替わります。
  • 長いスペースキーの場合は、スペースキーを押しっぱなしにするとレイヤーが切り替わります。
  • カタカナひらがなキーも長押しするとレイヤーが切り替わります。

別レイヤーの内容

  • 数字キー+2キーにF1~F12を当てています。
  • WASDに矢印キー、QEにPageUpPageDown、RFにHomeEndを当てています。
  • GにInsertを当てています。
  • Bにリセット機能を割り当てています。
    • 誤動作が多いようなら教えてください。デフォルトキーマップから削除します
  • HJKLに矢印キー(←↓↑→)を当てています
  • 右Alt、App、右Ctrl、ろ に矢印キー(←↓→↑)を当てています。
  • BackspaceにDeleteを当てています
  • EnterにPrintScreenを当てています

配列の書き換えをしたい場合

現在、QMK本家へのソースコードのマージができていないためソースコードからビルドしていただく必要があります。 ただし、半角全角をEscに置き換えたい、英数キーにCtrlを当てたい、MacOSで使うのでWinキーとAltキーを入れ替えたいなどはキーボード単体でなんとかなるので小ネタで紹介します。

github.com

キーボード名はJP60です。

github.com

小ネタ

よく使いそうなものだけ抜きだして紹介します。 他にも色々あるので、詳しくは以下のURLを参照ください

docs.qmk.fm

半角全角とEscを入れ替える

  1. ケーブルを抜く
  2. スペースキーと半角英数を長押しした状態でケーブルを差し込む
  3. 1秒程度待って離す
  4. 入れ替わっていることを確認する

戻すときも手順は同様です。

半角全角は英数キー(CapsLock位置)で代用できるため、60%キーボードではIMEトグルには英数キーを利用して左上はEscにすることを推奨しています。

左Altと左GUIを入れ替える(MacOSユーザ向け)

  1. ケーブルを抜く
  2. スペースキーと左Altを長押しした状態でケーブルを差し込む
  3. 1秒程度待って離す
  4. 入れ替わっていることを確認する