デッドキーの組み合わせが認識されない場合、2 つの文字が挿入されます (例: "a → á," b → "b")。

デッドキーの組み合わせが認識されない場合、2 つの文字が挿入されます (例:

私のLinux Mintシステムで英語、Interlingualのバリエーション(デッドキー、altGrデッドキー、または代替キーを含む)を使用すると、常にこの動作が発生します。
次のいずれかのキーを押すと、aやa' "などの「アクセントのない」文字が後に来てもまったく出力されません。 [b

Windows US-Internationalでは、[またはb。これを入力するには、「アクセントのない」文字の代わりにスペースを使用してすべてのデッドキーをエスケープする必要があります。これはプログラムするときに迷惑なことです(実際に迷惑ではありませんが、私はWindows "Qwerty International"を使用してTyping.ioでトレーニングし、システム間で前後に切り替えるのが面倒です)。

Windowsのように動作するように変更する方法はありますか?

ベストアンサー1

OpenSUSEでこの機能を実装する方法を見つけました。 Mintでも大きく変わらないことを願っています。ファイルは少し異なる場所にあるかもしれませんが、正しいファイルを見つけることはそれほど難しくありません。

OpenSUSEはibusデフォルトで(または少なくともGnomeバージョン)使用されていますが、それを削除して使用しましたxim。 Mintも使用されるかどうかはわかりませんが、ibusとにかくガイドライン全体を公開します。必要に応じてこの手順をスキップまたは調整してください。

  1. 削除ibus。 OpenSUSEでは、sudo zypper rm ibusログアウトして再度ログインしてゾンビデーモンを終了します。

  2. インストールするgtk3-immodule-xim。 OpenSUSEではsudo zypper in gtk3-immodule-xim

  3. 編集する/etc/X11/xim.d/none。設定。設定XMODIFIERSしてください。@im=noneGTK_IM_MODULEQT_IM_MODULExim

  4. cp /usr/share/X11/locale/en_US.UTF-8/Compose ~/.XCompose.XComposeホームディレクトリにファイルがある場合、X11はそのファイルを使用します。このファイルを編集してデッドキーをカスタマイズできます。

  5. 今退屈な部分です。.XComposeファイルを編集し、各デッドキーの組み合わせのルールを生成して目的の文字列を出力します。たとえば、

    <dead_acute> <b> : "'b"
    <dead_acute> <r> : "'r"
    ...
    

    大文字(句読点など必要なすべての項目)の規則も作成することを忘れないでください。

  6. あなたが私のようにアクセント付きのc()のç代わりにウムラウト()を使用したい場合は、次の行を見つけて編集します。ć<dead_acute> <c>

これでわかります。ログアウトして再度ログインすると、すべてのアプリケーションが入力を正しく処理する必要があります。

編集:私はこれがxim古くてバグがあることを知っていますが(構成ファイルにそのように表示されています)、上記の方法がすべてを機能させる唯一の方法です。たぶんuimそれもそれをするでしょう。

おすすめ記事