0

組み込みQWSServerアプリケーションのキーマップが必要です。

このような環境変数を使用する

QWS_KEYBOARD="TTY:keymap=/german_keyboard.qmap"
export QWS_KEYBOARD

動作しますが、私には最適ではありません。

を使ってコードから設定してみました

QWSServer* wsServer = QWSServer::instance();
QWSKeyboardHandler * kh = QKbdDriverFactory::create("TTY", "keymap=/german_keymap.qmap");
wsServer->setKeyboardHandler(kh);

ここで述べたように。

ただし、動作していません。それを修正する方法はありますか?

4

2 に答える 2

2

実際にはできなかったようです。このマニュアルページによると、キーボードハンドラーのドライバーとデバイスのみを設定でき、キーマップなどの追加オプションは設定できません。キーマップに関するこの記事では、環境変数の方法についてのみ言及されています

このため、ここでの答えは間違っているようです。

注意:この回答によると、Qt5にはQWSがなく、QWS関連のAPIはすべて削除されています。

于 2012-11-06T12:43:34.923 に答える
0

あなたが試すことができます:

QWSServer::instance()->closeKeyboard();
QWSKeyboardHandler * kh = QKbdDriverFactory::create("TTY", "keymap=/german_keymap.qmap");

それは私にとってはうまくいきますが、初めてレイアウトを変更したい場合、QWS_KEYBOARDで定義されたドライバーを削除しようとしているため、closeKeyboard()がクラッシュし、すでに最初に削除されています。

于 2013-08-06T14:55:59.740 に答える