X11キーシムをUnicode文字にマッピングする方法
-
12-11-2019 - |
質問
これはを正確に重複しています。質問;しかし、承認された答えでリンクされているコードは11歳ほぼ11歳です。コード内のこのコメントは私の重複した質問につながります:
Keysym - > UTF-8変換はうまくいけば1日に提供されます。 XMBlookupString()を介してXLIB、理想的にはxで行う必要はありません。 アプリケーションしかし、私たちはまだそこにいません。
まだありますか?私は
XwcLookupString
を知っていますが、....wchar_t unicode = XKeySymToWideChar( keysym );
...ははるかに簡単で論理的になり、キーシームが追加または変更されるたびに更新を必要としません。
X11 / XLIBには、キーシムをそのUnicode Aqualitにマッピングする簡単な機能がありますか?
解決 2
keysymをそのkeysymにマッピングするx11 / xlibに簡単な機能がありますか Unicode Internity?
UnicodeはXLIBの後に何年も発明され、誰も行ったことがないため そのようなものを追加するには戻っていますか?XLIB APIのほとんどはCodesetです それはすべてのロケールが使用された時代に書かれて以来独立しています さまざまな文字セット(ISO 8859- *、Big5、JISなど)、 現在のロケールに適した文字バッファ。いくつかのUTF-8がありました 後年では具体的な追加がありますが、ほとんど私たちはさせようとしています XLIBはそれ以来安心して休んで、新しいAPIデザインをXCBに向かって押す 代わりに
他のヒント
このnode.jsモジュールを試してCテーブルを生成するには、次の手順を実行します。 https://github.com/substack/node--KYYSYM これはこのデータセットに基づいています。 https://github.com/サブッタ/ノードキーシム/ BLOB /マスター/データ/ KEYSYMS.TXT
これは誰かを助けるかもしれません... Xmodmapのソースとオンライン文書から適応した( http://tronche.com/gui/x/xlib/utilities/keyboard/xkeycodetokeysym.html )
KeySym ks = XKeycodeToKeysym(dpy, keycode+min_keycode, modifier);
const char *s;
if (ks != NoSymbol)
s = XKeysymToString (ks);
else {
printf("Keycode has no symbol. Ignored.\n");
return NULL;
}
printf ("0x%04x (%s)\n", (unsigned int)ks, s);
printf ("wide char:%lc\n", (wchar_t)ks);
.
keysymはすでにUTF値です。問題はキーボンビニング... 'Á'を設定することです。