みずぴー日記

月に行こうという目標があったから、アポロは月に行けた。飛行機を改良した結果、月に行けたわけではない。

🙊入力モードの非公開機能

🌓入力モードは、Technical Noteやヘッダファイルに記載されていた内容である。 実際は、その内容以外にも文書化されていない機能がいくつか存在している。

📝文末文字の指定

macOSにはスペースを二回押すことでピリオドを入力する機能がある。(参考: macOS 10.12 SierraではiOSと同じスペースバーを2回押しでピリオド入力などの入力支援をサポート。 | AAPL Ch.)

f:id:mzp:20171029000928p:plain  ピリオドとして使用される文字を TISDoubleSpaceSubstitution でカスタマイズできる。入力モードごとに定義する。

f:id:mzp:20171029001004p:plain

<key>ComponentInputModeDict</key>
<dict>
  <key>tsInputModeListKey</key>
  <dict>
    <key>jp.mzp.inputmethod.EmojiIM</key>
    <dict>
      <key>TISDoubleSpaceSubstitution</key>
      <string>🍣</string>

👩‍👩‍👧‍👦 入力モードの統合

通常、入力モードは個別に追加・削除する。しかし、日本語入力ではひらがな入力とカタカナ入力、英数入力は基本的に併用するので、個別に追加・削除できる必要はない。

その場合、TISUnifiedUIForInputMethodEnabling を定義することで一括で追加削除できるようになる。

<key>ComponentInputModeDict</key>
<dict>
  <key>TISUnifiedUIForInputMethodEnabling</key>
  <true/>
  <key>tsInputModeListKey</key>
  <dict>
    <key>jp.mzp.inputmethod.EmojiIM</key>
    <dict>
    ....

この機能は、現在、日本語入力でのみ利用されている。

❓未解決

以下のキーの用途は、現時点で分かっていない。

  • TISCapsLockIsSwitch
  • TISCapsLockResetOnModeSwitch
  • TISIconIsTemplate
  • TISParticipatesInTouchBar

🐙ソースコード

Secret of input modes by mzp · Pull Request #16 · mzp/EmojiIM