Surface Book2のキーボード設定
Surface Book2を購入して久しぶりに日本語キーボード環境に戻ってきたので設定のメモ。
やりたいこと
- 日本語配列キーボードを英語配列として使いたい
- 英語配列の外付けキーボードと共存させたい
- キーを単独で押したときと他のキーと同時押ししたときで挙動を変えたい
- ファンクションキーを押したときに、音量調整などのメディアコントロールではなくファンクションキーとして動いてほしい
- 現在の設定ファイル
日本語配列キーボードを英語配列として使いたい
yamy 0.03で問題なく英語配列に変更できる。「-DUSE109;-DUSEdefault;-DUSE104on109」のようなオプションを付ければOK(yamy.iniの設定で escapeNLSKeys=1 が必要)。ついでに以下の点も変更。
- CtrlはAキーの左に
- 変換・無変換をスペースに
- ひらがなの「む」と「ろ」キーをそれぞれEnter, Shiftキーに
- 「ひらがな・カタカナ」キーをAltキーに
英語配列の外付けキーボードと共存させたい
設定ファイルを別々に用意することなしに、今の設定で問題なく動いている。
キーを単独で押したときと他のキーと同時押ししたときで挙動を変えたい
ワンショットモディファイヤ機能で以下のように設定
- 単押しではSpace, 同時押しではShift
- 単押しではEsc, 同時押しでCtrl
- 単押しではEnter, 同時押しではCtrl
- 単押しではAlt-Tab(アプリの切り替え), 同時押しではAlt

特殊キーの設定
ファンクションキーを押したときに、音量調整などのメディアコントロールではなくファンクションキーとして動いてほしい
F1, F2(画面の明るさ調整), F7(キーボードバックライト調整)のキースキャンコードが分からない。CapsLockのようにFnを一度押せはロックされるようなので、当面はこれでOK。
現在の設定ファイル
#~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
# 窓使いの憂鬱 - dot.mayu
# Copyright (C) 1999-2005, TAGA Nayuta <nayuta@users.sourceforge.net>
#
# まずキーボード定義を読み込む
if ( USE104 )
include "104.mayu" # 104 キーボード設定
if ( USE109on104 )
include "109on104.mayu" # 104 キーボードを 109 キーボード風に
endif
else
include "109.mayu" # 109 キーボード設定
if ( USE104on109 )
include "104on109.mayu" # 109 キーボードを 104 キーボード風に
endif
endif
if ( USEdefault )
include "default.mayu" # Emacs ライクなさまざまな設定
endif
keymap Global
# このファイルをホームディレクトリにコピーしてから、
# 以下に自分の好みのキーバインディングを設定するとよい。
# このファイル自体を変更しないこと。
# IMEの制御
key A-Space = $ToggleIME # Alt-' ' でIMEをON/OFF
#key S-SPACE = $ToggleIME # Shift-' ' でもIMEをON/OFF
key IC-C-m = Enter # かな漢字変換中でもC-mによる改行を有効にする
# MacOSっぽく、C-1, C-2で2枚の仮想デスクトップを切り替え
key C-_1 = C-W-Left
key C-_2 = C-W-Right
#
# ワンショットモディファイヤ
#
# Space and Shift
mod shift += !!!Space # リピート有り
key R-*Space = &Ignore
# ESC + LeftControl
mod Control += !!Esc
key ~R-*C-Esc = Esc
key R-*C-Esc = &Ignore
# Enter + RightControl
mod Control += !!Enter
key ~R-*C-Enter = Enter
key R-*C-Enter = &Ignore
# Backspace + Alt
mod Alt += !!!Backspace # リピート有り
key ~R-*C-Backspace = Backspace
key R-*C-Backspace = &Ignore
# Altを単体で押した場合はAlt-Tabにする (なぜか右Altはうまく動かないのでAltは両方とも左Altにしておくこと)
mod Alt += !!LeftAlt
key ~R-*A-LeftAlt = A-Tab
key R-*C-LeftAlt = &Ignore
# C-[をEscに
key C-LeftSquareBracket = Esc Escape
#
# SurfaceBookキーボード用
#
# 変換・無変換をSpace and Shiftに
mod shift += !!変換
key R-*変換 = &Ignore
mod shift += !!E0無変換
key R-*E0無変換 = &Ignore
# ひらがなをLeftAltに
# key *E0ひらがな = $ToggleIME # ひらがな でIMEをON/OFF
def subst *E0ひらがな = *LeftAlt
mod Alt += !!E0ひらがな
key ~R-*C-E0ひらがな = A-Tab
key R-*C-E0ひらがな = &Ignore
# 英数をEsc+Ctrlに
def subst *E0英数 = *Esc
mod Control += !!E0英数
key ~R-*C-E0英数 = Esc
key R-*C-E0英数 = &Ignore
# Enterキーが遠いので「む」キーもEnterとして使用
def key kinesis_sp = 0x56 # kinesisとの共存用に左手下の |\ は表記通りに使う
def subst *kinesis_sp = *YenSign
def subst *RightSquareBracket = *Enter
#
# アプリ固有の設定
#
# web browser
window Mozilla /:MozillaWindowClass$/ : EmacsEdit
window Chrome /chrome\.exe:/ : EmacsEdit
window Edge /ApplicationFrameHost\.exe:/ : EmacsEdit
## MS-Office
window Outlook /OUTLOOK\.exe:/ : EmacsEdit
window POWERPNT /POWERPNT\.exe:/ : EmacsEdit
window Excel /EXCEL\.exe:/ : EmacsEdit
## explorer
window Explorer /Explorer\.exe:/ : EmacsEdit
## Evernote
window Evernote /Evernote\.exe:/ : EmacsEdit