🍣emojiキーを設定しよう🍣リベンジ編

  • 4
    いいね
  • 0
    コメント

この投稿は :calendar: ErgoDox Advent Calendar 2016 の 18日目の記事です。


前回上手く行かなかったUnicode入力を改善して絵文字を使えるようにします。

サロゲートペアを使う

前回紹介した🍣絵文字キーの実現 - みずぴー日記で別解に挙げられていたサロゲートペアを使うやり方でmacOSでもいけるようになります。

実装

process_unicode.c
      code -= 0x10000;
      register_hex32(0xD800 | (code >> 10));
      register_hex32(0xDC00 | (code & 0x3FF));

こんな感じに分割して0xFFFF内で表現すればOKです。

Add support for Unicode supplementary planes on OS X by jonasoberschweiber · Pull Request #981 · jackhumbert/qmk_firmware

PR上げようかなと思ってたらちょうど上がってました。
なので、じきに取り込まれるでしょう。

ただ、register_hex32内の処理ではキーコード入力してupdateする処理をしてしまっているせいか、VSCodeなどエディタによっては分割されたキーコードが1字ずつ出てしまって絵文字にならない問題があります。

サロゲートペア用に複数入力をregisterする処理が必要っぽいのでそのへんはまた追って検証します。

この投稿は ErgoDox Advent Calendar 2016 の 18日目の記事です。