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
    f:id:kichi941:20181228212712j:plain
    特殊キーの設定

ファンクションキーを押したときに、音量調整などのメディアコントロールではなくファンクションキーとして動いてほしい

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