Keyboard Layout Editorでロータリーエンコーダーを表示(見た目だけ)
※見た目だけの小技です
しかもかなり強引なのでオススメしづらい
Re42のキーの配置をわかりやすくする伝えるために Keyboard-Layout-Editor を利用しています
普通は四角いキーしか配置できないのですが、ロータリーエンコーダーのために無理矢理スタイルを丸く変えることができたのでメモっておきます
Index
ロータリーエンコーダーにあたるキーを丸く表示する方法
細かい話は置いておいて、早速やり方です
-
Keyboard-Layout-Editorのページ下の方にある
Custom Styles
タブを開いて以下を設定します.keyborder[style*="bbbbbb"],.keyborder[style*="bbbbbb"]+.keytop { border-radius: 50% !important; }
-
Properties
タブに戻って、丸くしたいキーのKey Colorを#bbbbbb
にすればできあがり!(冒頭の画像)
Decalも一度チェックを外して色を指定してから、再度Decalに戻せば丸くできます
仕組み
Properties
で設定したキーの背景色Key Color
は、キー外枠をあらわす.keyborder
クラスのstyle属性に直接設定されます
Custom Styles
のセレクターで上記設定を拾ってあげればある程度自由にスタイルを指定できます
その他メモ
キーPropertiesのProfile / RawあたりにRortary-Encoder
と設定して判断したいところでしたが残念ながらできませんでした
Custom Stylesに設定したcssは自動でセレクタの先頭に#keyboard .keycap
が付与されます
つまり上記CSSは、実際には以下の通り適用されます
#keyboard .keycap .keyborder[style*="bbbbbb"],.keyborder[style*="bbbbbb"]+.keytop {
border-radius: 50% !important;
}
一方、キーのDOM構成は
<div class="key Profile名"> <!-- Profile名はここに付与される) -->
<div class="keycap"> <!-- cssで指定できるのはここから下だけ) -->
<div class="keyborder"/> <!-- 外枠 -->
<div class="keytop"/> <!-- 内枠 -->
<div class="keylabels"/>
</div>
</div>
となっており、これではセレクタで狙った.key
クラスを指定できません
無念
なので、.keyborder
のstyle属性に設定されるKeyColorを強引に拾う形にしました
変な設定ですが背景色とスタイルシートだけなので影響は少ないんじゃないでしょうか…たぶん…
Leave a Comment