5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ErgoDoxAdvent Calendar 2016

Day 18

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

Posted at

この投稿は :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する処理が必要っぽいのでそのへんはまた追って検証します。

5
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?