1
Help us understand the problem. What are the problem?

More than 5 years have passed since last update.

posted at

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

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

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
1
Help us understand the problem. What are the problem?