HOME
  Security
   Software
    Hardware
  
FPGA
  CPU
   Android
    Raspberry Pi
  
nLite
  Xcode
   etc.
    ALL
  
LINK
BACK
 

2018/11/24

macOSでキーボードの修飾キーの設定変更をターミナルのコマンドラインから行なう方法、Caps Lockを Controlキーに変更 macOSでキーボードの修飾キーの設定変更をターミナルのコマンドラインから行なう方法、Caps Lockを Controlキーに変更

(macOSのキーボードの修飾キーの設定変更をコマンドラインから行なう方法、スクリプトで全自動で行ないたい!)

Tags: [Apple], [MacBook], [Hackintosh]




● macOS Mojave対応のキーボード設定補助アプリ Karabiner Karabiner-Elements

 Windowsパソコンで Mojaveの夢を観た時に、漢字モードの切り替えが「変換」「無変換」でできる様になります。
 (キーボード左上の「半角/全角」キーは使用しません。)

Karabiner
 A powerful and stable keyboard customizer for macOS.
 なお、昔は KeyRemap4MacBookと言うアプリ名でした。
 同作者の Seilと言う caps lock key用の設定アプリも Karabiner-Elementsに統合されました。
Seil Utility for the caps lock key and some international keys

・macOS Mojaveで Windows用の USBキーボードを便利に使用する方法
macOS Mojaveで Windows用の USBキーボードを便利に使用する方法
 キーボードの「かな」キーと「英数」キーを Macと同じ様に使用できます。

 なお通常のキー操作でも
 Ctrl + Shift + ;(セミコロン)で「英字」モード
 Ctrl + Shift + J(ジェイ)で「かな」モード
 に切り替わります。

・macOS Mojaveで Windows用の USBキーボードを便利に使用する方法
macOS Mojaveで Windows用の USBキーボードを便利に使用する方法


・macOS Mojaveで Windows用の USBキーボードを便利に使用する方法
macOS Mojaveで Windows用の USBキーボードを便利に使用する方法
 Add itemを押して、From keyと To keyを設定します。

・macOS Mojaveで Windows用の USBキーボードを便利に使用する方法
macOS Mojaveで Windows用の USBキーボードを便利に使用する方法


・macOS Mojaveで Windows用の USBキーボードを便利に使用する方法
macOS Mojaveで Windows用の USBキーボードを便利に使用する方法


・macOS Mojaveで Windows用の USBキーボードを便利に使用する方法
macOS Mojaveで Windows用の USBキーボードを便利に使用する方法
 From keyと To keyを上記の様に設定します。
From key(USBキーボード)To key(macOSで認識するキー)
PCキーボードの変換キーかなキー
PCキーボードの無変換キー英数キー
PCキーボードのかなキーかなキー

・macOS Mojaveで Windows用の USBキーボードを便利に使用する方法
macOS Mojaveで Windows用の USBキーボードを便利に使用する方法
 カタカナをオフにします。

・macOS Mojaveで Windows用の USBキーボードを便利に使用する方法
macOS Mojaveで Windows用の USBキーボードを便利に使用する方法
 修飾キーは通常の「システム環境設定」から「キーボード」で「Karabiner VirtualHIDKeyboard」を選択して設定します。


●キーボード左上の「半角/全角」キーを使用する方法 Karabiner-Elements

 キーボード左上の「半角/全角」キーを IMEモードのトグル切り替え(交互に切り替える)にする方法

 From keyと To keyを上記の様に設定します。
From key(USBキーボード)To key(macOSで認識するキー)
grave_accent_and_tilde(`)f13

 「システム環境設定」の「キーボード」で「ショートカット」
 「入力ソース」で「前の入力ソースを選択」に F13を割り当てます。

・キーボード左上の「半角/全角」キーを使用する方法 Karabiner-Elements
キーボード左上の「半角/全角」キーを使用する方法 Karabiner-Elements


・キーボード左上の「半角/全角」キーを使用する方法 Karabiner-Elements
キーボード左上の「半角/全角」キーを使用する方法 Karabiner-Elements


・キーボード左上の「半角/全角」キーを IMEモードのトグル切り替え
キーボード左上の「半角/全角」キーを IMEモードのトグル切り替え




● macOS用の IME入力モードの視覚化アプリ ShowyEdge

ShowyEdge

 Karabinerの作者による macOS用の IME入力モードの視覚化アプリ ShowyEdge。
 IMEの入力言語によってメニューバーの上側に色バーを表示します。

 最新版の ShowyEdge 3.3.0は Appleの Apple Notary Serviceに対応しました。

 Apple Notary Serviceとは App Store以外で配布されるいわゆる「野良アプリ」にも「署名」を必要とする仕組みの事。

Signing Mac Software with Developer ID - Apple Developer
Get Your Mac Software Notarized - News - Apple Developer
Notarizing Your App Before Distribution

 Notarization requires Xcode 10 or later .


● macOS用のキーボード設定補助アプリ 器英かな

⌘英かな
iMasanari/cmd-eikana
 左右のコマンドキーを単体で押した時に英数/かなを切り替えるようにするアプリです。
 また、キーのリマップアプリとしても使用することができます。


● macOS用のキーボード設定補助アプリ IMESwitcher

kan/ime-switcher
 IME switch key manager for macOS

 macOS Sierraでも動作する、IMEの動作切り替えを任意の修飾キー(左右のShift/Control/Option/Commandに対応)で行なえるようにするアプリです。 単一キーでIMEのon/offをtoggleすることも、任意のキーをon専用、off専用にそれぞれ指定することもできます。英字配列キーボードユーザー向けです。


● macOS用のスクリプトエンジン Hammerspoon

Hammerspoon
 This is a tool for powerful automation of OS X .
 Hammerspoon is just a bridge between the operating system and a Lua scripting engine .


● macOS キーボード設定 Ukelele - SIL International

 Macのキーボード設定アプリとして有名な Ukelele。

Ukelele - SIL International
 Ukelele 3.2.7 2017-10-07


● Technical Note TN2056 Installable Keyboard Layouts

Technical Note TN2056 Installable Keyboard Layouts
 Mac OS X 10.2 には、ファイルまたはバンドルを標準フォルダに入れることによって新しいキーボード配列をインストールできる機能が追加されています。

Technical Note TN2056 Installable Keyboard Layouts PDF

要素
この要素は、この要素を内包する 要素の中で指定されたテーブル番号にマッピングする修飾キーの組み合わせを 1 セット以上指定します。この要素は、 XML で言うところの空の要素となります( と記述されます)。この要素には 1 つの必須属性があります。
keys1 つ以上の修飾キーの組み合わせを指定する文字列。この文字列は、空白文字によって区切られた、次の単語の 1 つ以上の並びで構成されます。
shift左の Shift キー
rightShift右の Shift キー
anyShift左右いずれかの Shift キーに一致
option左の Option キー
rightOption右の Option キー
anyOption左右いずれかの Option キーに一致
control左の Control キー
rightControl右の Control キー
anyControlいずれかの Control キー
commandCommand キー
capsCaps Lock key
末尾に?押しても押して無くてもどっちも一致
shift?左の Shift キーを押してても押して無くても
anyShift?Shift キーを押してても押して無くても
anyOption?Option キーを押してても押して無くても


この指定は、左右どちらかの(または両方の)Option キーが押されていて Command キー および左右の Control キーが押されていないすべての修飾キーの組み合わせに一致します。


capsだけオンの状態


● 「Key Codes」をMac App Storeで - iTunes - Apple

 キーボードのキーコードや修飾キーの値を確認できます。

「Key Codes」をMac App Storeで - iTunes - Apple
 Key Codes is a little utility that displays the key code, unicode value, and modifier keys state for any key combination you press.
 If you're a developer, this might be useful to you.



● macOS キーボード設定をターミナルのコマンドラインで変更する方法

 macOS Mojaveの Modifier Keys設定は com.apple.keyboard.modifiermapping.*-*-0 に格納されています。

 ターミナルのコマンドラインでキーボードの Commandや Option、CAPS Lockの入れ替えを行ないます。

# 現在のキーボードやトラックパッドの設定を表示するコマンド
# 下記で取得しているキーボードデバイスの idVendorや idProductを確認できます。
plutil -p ~/Library/Preferences/ByHost/.GlobalPreferences.*.plist

# USB接続のキーボードデバイスの idVendorや idProductを取得するコマンド
ioreg -p IOUSB -c IOUSBDevice | grep -e class -e idVendor -e idProduct

#    | +-o USB Keyboard@14710000  <class AppleUSBDevice, id 0x100000324, registered, matched, active, busy 0 (0 ms), retain 16>
#    |       "idProduct" = 2
#    |       "idVendor" = 7247
# "com.apple.keyboard.modifiermapping.{idVendor}-{idProduct}-0"
# この場合は "com.apple.keyboard.modifiermapping.7247-2-0" の様に指定します。

# キーボードのデバイス IDを生成するコマンドライン
idVendor=$(ioreg -p IOUSB -c IOUSBDevice -n "USB Keyboard" | grep -e idVendor | awk '{print $4}')
echo $idVendor
# 7247

idProduct=$(ioreg -p IOUSB -c IOUSBDevice -n "USB Keyboard" | grep -e idProduct | awk '{print $4}')
echo $idProduct
# 2

keyboardId="${idVendor}-${idProduct}-0"
echo $keyboardId
# 7247-2-0

modifiermapping=com.apple.keyboard.modifiermapping.${keyboardId}
echo $modifiermapping

# USBキーボードの設定状態を取得する方法
# defaults -currentHost read -g com.apple.keyboard.modifiermapping.7247-2-0
defaults -currentHost read -g $modifiermapping

# 取得した内容(何も設定変更が無い場合)
The domain/default pair of (kCFPreferencesAnyApplication, com.apple.keyboard.modifiermapping.7247-2-0) does not exist

# 取得した内容(Caps Lockを ^Controlに変更している場合)
(
        {
        HIDKeyboardModifierMappingDst = 30064771300;
        HIDKeyboardModifierMappingSrc = 30064771129;
    }
)

# 取得した内容(Hackintosh用に俺カスタマイズしている場合)
(
        {
        HIDKeyboardModifierMappingDst = 30064771300;
        HIDKeyboardModifierMappingSrc = 30064771129;
    },
        {
        HIDKeyboardModifierMappingDst = 30064771299;
        HIDKeyboardModifierMappingSrc = 30064771300;
    },
        {
        HIDKeyboardModifierMappingDst = 30064771303;
        HIDKeyboardModifierMappingSrc = 30064771296;
    }
)

 HIDKeyboardModifierMappingSrcに元のキーコード
 HIDKeyboardModifierMappingDstに押した事にするキーコード
 Srcのキーを Dstに変更します。

KeyCode左右別
アクションなし30064771072
Esc30064771113
Caps Lock30064771129
^ Control3006477129630064771300
√ Option3006477129830064771302
器 Command3006477129930064771303
fn ファンクション1095216660483280379760050179

# 俺カスタマイズのキーボード設定をコマンドラインで設定する
# 1回で設定を書き込む記述方法がわからないので 1個づつ 3回に分けている
# defaults -currentHost write -g com.apple.keyboard.modifiermapping.7247-2-0 -array-add

# 修飾キーの Caps Lockを ^ Controlに変更
defaults -currentHost write -g $modifiermapping -array-add "
<dict>
  <key>HIDKeyboardModifierMappingDst</key>\
  <integer>30064771300</integer>\
  <key>HIDKeyboardModifierMappingSrc</key>\
  <integer>30064771129</integer>\
</dict>
"

# 修飾キーの ^ Controlを 器 Commandに変更(その1)
defaults -currentHost write -g $modifiermapping -array-add "
<dict>
  <key>HIDKeyboardModifierMappingDst</key>\
  <integer>30064771299</integer>\
  <key>HIDKeyboardModifierMappingSrc</key>\
  <integer>30064771300</integer>\
</dict>
"

# 修飾キーの ^ Controlを 器 Commandに変更(その2)
defaults -currentHost write -g $modifiermapping -array-add "
<dict>
  <key>HIDKeyboardModifierMappingDst</key>\
  <integer>30064771303</integer>\
  <key>HIDKeyboardModifierMappingSrc</key>\
  <integer>30064771296</integer>\
</dict>
"

# 上記で書き換えた内容を確認する
# defaults -currentHost read -g com.apple.keyboard.modifiermapping.7247-2-0
defaults -currentHost read -g $modifiermapping
# 取得した内容(俺カスタマイズしている場合)
(
        {
        HIDKeyboardModifierMappingDst = 30064771300;
        HIDKeyboardModifierMappingSrc = 30064771129;
    },
        {
        HIDKeyboardModifierMappingDst = 30064771299;
        HIDKeyboardModifierMappingSrc = 30064771300;
    },
        {
        HIDKeyboardModifierMappingDst = 30064771303;
        HIDKeyboardModifierMappingSrc = 30064771296;
    }
)


●キーボードビュアーを使用するとキーボードの割り当ての確認ができます。
・macOS キーボード設定
macOS キーボード設定
 「メニューバーにキーボードビューアと絵文字ビューアを表示」の設定をオンにする。

・macOS キーボード設定
macOS キーボード設定
 メニューバーの入力メニューから「キーボードビューアを表示」を選ぶ。

● Windows用の USBキーボード
・macOS キーボード設定
macOS キーボード設定


・macOS キーボード設定
macOS キーボード設定



● ShareMouse経由で Windows用の PS2接続の 106キーボード
 キーボードを USタイプと誤認識しています。
・macOS キーボード設定
macOS キーボード設定


・macOS キーボード設定
macOS キーボード設定



● Windows用の USBキーボードの「修飾キー」の設定

WindowsキーボードMac上の意味
Caps Lock^ control
Ctrl器 command
Win器 command
Alt√ option
Menu何もなし
変換かなKarabinerを使用
無変換英数Karabinerを使用
ローマ字かなKarabinerを使用

・macOS キーボード設定
macOS キーボード設定


・macOS キーボード設定
macOS キーボード設定


・macOS キーボード設定
macOS キーボード設定




● Mac本体のキーボードの修飾キー設定

 Mac Book Air 2014 macOS High Sierra 10.13.6
com.apple.keyboard.modifiermapping.1452-656-0

 MacBook Pro 2012 Mid macOS High Sierra 10.13.6
com.apple.keyboard.modifiermapping.1452-612-0

# 修飾キーの Caps Lockを 器 Commandに変更
# 1452-656は Mac Book Air 2014に特有と思われる。調べ方は上記を参照。
$ defaults -currentHost read -g com.apple.keyboard.modifiermapping.1452-656-0
(
        {
        HIDKeyboardModifierMappingDst = 30064771299;
        HIDKeyboardModifierMappingSrc = 30064771129;
    }
)

・macOS キーボード設定
macOS キーボード設定


・macOS キーボード設定
macOS キーボード設定


・macOS キーボード設定
macOS キーボード設定




● macOSのキーボードの入力ソース IMEの設定をコマンドラインで設定する方法

$ defaults read com.apple.HIToolbox
{
    AppleCurrentKeyboardLayoutInputSourceID = "com.apple.keylayout.US";
    AppleEnabledInputSources =     (
                {
            "Bundle ID" = "com.apple.inputmethod.Kotoeri";
            "Input Mode" = "com.apple.inputmethod.Japanese";
            InputSourceKind = "Input Mode";
        },
                {
            "Bundle ID" = "com.apple.inputmethod.Kotoeri";
            "Input Mode" = "com.apple.inputmethod.Roman";
            InputSourceKind = "Input Mode";
        },
                {
            "Bundle ID" = "com.apple.inputmethod.Kotoeri";
            InputSourceKind = "Keyboard Input Method";
        },
                {
            "Bundle ID" = "com.apple.50onPaletteIM";
            InputSourceKind = "Non Keyboard Input Method";
        },
                {
            "Bundle ID" = "com.apple.KeyboardViewer";
            InputSourceKind = "Non Keyboard Input Method";
        },
                {
            "Bundle ID" = "com.apple.CharacterPaletteIM";
            InputSourceKind = "Non Keyboard Input Method";
        }
    );
    AppleInputSourceHistory =     (
                {
            "Bundle ID" = "com.apple.inputmethod.Kotoeri";
            "Input Mode" = "com.apple.inputmethod.Roman";
            InputSourceKind = "Input Mode";
        },
                {
            "Bundle ID" = "com.apple.inputmethod.Kotoeri";
            "Input Mode" = "com.apple.inputmethod.Japanese";
            InputSourceKind = "Input Mode";
        }
    );
    AppleSelectedInputSources =     (
                {
            "Bundle ID" = "com.apple.inputmethod.Kotoeri";
            "Input Mode" = "com.apple.inputmethod.Roman";
            InputSourceKind = "Input Mode";
        }
    );
}

 「カタカナ」は不要
        {
        "Bundle ID" = "com.apple.inputmethod.Kotoeri";
        "Input Mode" = "com.apple.inputmethod.Japanese.Katakana";
        InputSourceKind = "Input Mode";
    }

$ defaults read com.apple.inputmethod.Kotoeri
{
    JIMDictionaryTrainerLastProcessedFileID = 0;
    JIMDictionaryTrainerLastProcessedRecordNumber = 0;
    JIMPrefAutocorrectionKey = 0; タイプミスを修正 無効
    JIMPrefCandidateWindowFontSizeKey = 24; 変換入力の候補表示のフォントサイズ
    JIMPrefConvertWithPunctuationKey = 0;
    JIMPrefFullWidthNumeralCharactersKey = 0; 数字を全角入力 無効
    JIMPrefLiveConversionKey = 0; ライブ変換 無効
    JIMPrefRomajiKeyboardLayoutKey = "com.apple.keylayout.US";
    JIMPrefShiftKeyActionKey = 1;
    JIMPrefTypingMethodKey = 0;
    JIMPrefVersionKey = 1;
    JIMPrefWindowsModeKey = 0;
}

# ことえり IME設定 タイプミスを修正 無効
defaults write com.apple.inputmethod.Kotoeri JIMPrefAutocorrectionKey 0

# ことえり IME設定 変換入力の候補表示のフォントサイズ 24
defaults write com.apple.inputmethod.Kotoeri JIMPrefCandidateWindowFontSizeKey 24

# ことえり IME設定 数字を全角入力 無効(数字を半角で入力)
# defaults write com.apple.inputmethod.Kotoeri JIMPrefFullWidthNumeralCharactersKey 0

# ことえり IME設定 ライブ変換 無効
defaults write com.apple.inputmethod.Kotoeri JIMPrefLiveConversionKey 0

# IMEの入力言語の設定を削除
defaults delete com.apple.HIToolbox AppleEnabledInputSources

 IMEに中国語(簡体字)のピンインを追加
        {
        "Bundle ID" = "com.apple.inputmethod.SCIM";
        "Input Mode" = "com.apple.inputmethod.SCIM.ITABC";
        InputSourceKind = "Input Mode";
    },
        {
        "Bundle ID" = "com.apple.inputmethod.SCIM";
        InputSourceKind = "Keyboard Input Method";
    },
        {
        "Bundle ID" = "com.apple.inputmethod.ChineseHandwriting";
        InputSourceKind = "Non Keyboard Input Method";
    }

# IMEに中国語(簡体字)のピンインを追加
defaults write com.apple.HIToolbox AppleEnabledInputSources -array-add \
'<dict>
<key>Bundle ID</key><string>com.apple.inputmethod.SCIM</string>
<key>Input Mode</key><string>com.apple.inputmethod.SCIM.ITABC</string>
<key>InputSourceKind</key><string>Input Mode</string>
</dict>'

defaults write com.apple.HIToolbox AppleEnabledInputSources -array-add \
'<dict>
<key>Bundle ID</key><string>com.apple.inputmethod.SCIM</string>
<key>InputSourceKind</key><string>Keyboard Input Method</string>
</dict>'

defaults write com.apple.HIToolbox AppleEnabledInputSources -array-add \
'<dict>
<key>Bundle ID</key><string>com.apple.inputmethod.ChineseHandwriting</string>
<key>InputSourceKind</key><string>Non Keyboard Input Method</string>
</dict>'



● ioregコマンドで色々とデバイスを検索できます
# 全部のデバイスを表示
ioreg

# IOUSBの AppleUSBDeviceのデバイスだけを表示
ioreg -p IOUSB -c AppleUSBDevice

# KeyRepeat キーリピートの開始時間とリピート速度(n/60秒)
defaults write -g InitialKeyRepeat -int 30
defaults write -g KeyRepeat -int 2

# mouse.scaling マウスの移動速度とホイールスクロールの上下方向を逆にする(Windowsと同じになる)
defaults write -g com.apple.mouse.scaling 1

# mouse.scaling マウスのとホイールスクロールの上下方向を Windowsと同じにする
defaults write -g com.apple.swipescrolldirection -bool false

# 同等の書き方
# defaults write "Apple Global Domain" com.apple.mouse.scaling 1
# defaults write ~/Library/Preferences/.GlobalPreferences.plist com.apple.swipescrolldirection -boolean NO


● Boot Camp で実行している Windows で Apple 製のキーボードを使う

Boot Camp で実行している Windows で Apple 製のキーボードを使う

Windows ロゴ:「command」(⌘) を押します。
Backspace または Delete:「delete」を押します。
Alt (左):「option」を押します。
Alt GR (右):「option + control」を押します。
アプリケーション:このキーは Apple 製キーボードには用意されていません。


● pkgファイルをコマンドラインからインストール
sudo installer -pkg /path/to/package.pkg -target /



Tags: [Apple], [MacBook], [Hackintosh]

●関連するコンテンツ(この記事を読んだ人は、次の記事も読んでいます)

最新 macOS Mojave 10.14.1を起動する CLOVER EFI領域を SSDに作成する方法の夢、OSX86 Hackintosh
最新 macOS Mojave 10.14.1を起動する CLOVER EFI領域を SSDに作成する方法の夢、OSX86 Hackintosh

  最新の macOS Mojave 10.14.1を Skylakeパソコンで起動する為に SSDに EFI領域をインストールする夢見

最新 macOS Mojave 10.14.1の OSX86 Hackintosh用インストール USBメディアを作成する方法
最新 macOS Mojave 10.14.1の OSX86 Hackintosh用インストール USBメディアを作成する方法

  最新の macOS Mojave 10.14.1の Bootable USBデバイスを作成する方法、レッツノート CF-NX4にも対応

最新 macOS Mojave 10.14.1を Windowsパソコンにインストールする方法の夢、OSX86 Hackintosh
最新 macOS Mojave 10.14.1を Windowsパソコンにインストールする方法の夢、OSX86 Hackintosh

  最新の macOS Mojave 10.14.1を Core i3 6100U Skylake Windows PCにインストールする夢見

HYSTOU FMP03 Intel Skylake Core i3-6100U搭載 ファンレス 中華ベアボーン
HYSTOU FMP03 Intel Skylake Core i3-6100U搭載 ファンレス 中華ベアボーン

  AliExpress.comで中華ベアボーンを買ってみた HYSTOU FMP03 Fanless Mini PC

中華ベアボーンに内蔵 HDD、圧電ブザーやリセットスイッチ、USB 2.0、光デジタル S/PDIFを増設する改造
中華ベアボーンに内蔵 HDD、圧電ブザーやリセットスイッチ、USB 2.0、光デジタル S/PDIFを増設する改造

  HYSTOU FMP03 6100U Fanless Mini PC modification Add HDD、Reset SW、USB 2.0、SPDIF

Intel NUC Kit NUC8I5BEH BOXNUC8I5BEHを買ってみた、Coffee Lake Core i5-8259U搭載、テレワークに最適な小型筐体
Intel NUC Kit NUC8I5BEH BOXNUC8I5BEHを買ってみた、Coffee Lake Core i5-8259U搭載、テレワークに最適な小型筐体

  Intel NUC NUC8I5BEH Coffee Lake Core i5-8259U搭載、HDD、M2 SSD搭載可能で超高速 CPU




[HOME] | [BACK]
リンクフリー(連絡不要、ただしトップページ以外は Web構成の変更で移動する場合があります)
Copyright (c) 2018 FREE WING,Y.Sakamoto
Powered by 猫屋敷工房 & HTML Generator

http://www.neko.ne.jp/~freewing/software/macos_keyboard_setting_terminal_commandline/