Windowsの動作を模倣するLinuxの米国国際キーボードレイアウトはありますか?


12

キーボードレイアウトとしてUS Internationalを使用することに慣れています。ただし、実装はWindowsとLinuxで大きく異なるようです(私の場合はGnome-GTKはWindowsでも同じように動作するため、GTKの問題である可能性があります)。

レイアウトは、以下のようなキーのため、例えば、デッドキーを使用して'"^、&​​C。分音記号付きの文字を簡単に入力できるようにします。Windowsでデッドキーを押してから、ペアが関連付けられていないキーを押すと、デッドキーの文字(スペースとペアになっている場合)と2番目のキーの文字が返されます。例:押すと"a押して、しかし、歩留まり「A」を'sペアリングがために存在しないとして、利回り「さんを」's

現在、英語と呼ばれる言語があり、正確にこれら2つの文字を頻繁に使用します。これは、Windowsで通常どおりに入力するだけで機能するので、今では私にとって重要な記憶です。これは私に私の問題をもたらします:

(Windowsの場合とGTK)Linuxでは、そこにあるのためのペアリング's(の間で多くの他のものは)、その結果、ś(これは、今度は、私にはリード線が頻繁に「その」と入力します)。「だ」と入力して、私を必要とタイピングだから'        s終わり。

私が慣れている他のいくつかの組み合わせが機能しないことがあります。その中には、存在しないペアの場合、結果は何もないということです。「I'd」と入力すると、「I」になります。これらのキーの1つを2回押すと、間隔のない発音区別符号が作成され、最初に両方の引用符を入力して文字列を入力する習慣がなくなります(これにより、間隔のない急性アクセントまたはマクロンが発生します)。

長い話を短く:機能のWindowsと同じに供給米国国際レイアウトが表示され、いずれも-がないことをどのやる同一の仕事を?それともそのように構成する機会はありますか?鋭アクセントまたは非スペーシャル発音区別符号を使ってsを入力するのは良いことかもしれませんが、それらは私にとって必ずしも一般的なニーズではありません。


1
なぜ私が他の何かの代わりにUSインターナショナルを使用するのか疑問に思う方のために:私はドイツ出身で、時々ä、ö、ü、ßのようにタイプする必要があります。しかし、ほとんどのプログラミング言語デザイナーは、1つのレイアウト用に言語を設計するため、中括弧やバックスラッシュなどの文字を入力するために、ユーザーは指を離すようなキーの組み合わせに頼らなければなりません。
ジョーイ

回答:


6

1つの可能性は、デッドキーを避け、代わりにComposeキーでアクセント付き文字を入力することです。たとえば、と入力Compose " aしてと入力しäます。Composeキーを含むキーボードレイアウトオプションを選択する必要があります。一般的な選択は、右側のCtrlキーの左側にあるキーです(Windowsではと呼んでいますMenu)。の利点はCompose、メインレイアウトを変更せずに多くの派手な文字を入力できるようになることです。欠点は、アクセント付きの文字を2回ではなく3回押すことです。

または、.XComposeホームディレクトリに(キャピタリゼーションに注意)というファイルを作成し、必要な組み合わせをリストすることで、デッドキーの効果を構成できます。何かのようなもの:

「/usr/share/X11/locale/en_US.UTF-8/Compose」を含めます

<dead_acute> <space>: "'"アポストロフィ
<dead_acute> <exclam>: "'!"
<dead_acute> <quotedbl>: "'\" "
#など...
<dead_acute> <a>: "á"
<dead_acute> <b>: "'b"
#など...

構文はかなり単純です。の左側にあるキーのシーケンスは、の右側の:""にある文字列に変わり:ます。右側の追加の単語は、このキーのシーケンスに対応するkeysym(つまり、キーの名前)です。それはそれほど重要ではありません。a #から行末までは無視されます。

ディストリビューションが別の場所に配置する場合は、最初の行をシステムファイルを指すように変更します。構文の例については、このファイルをご覧ください。キーの<Multi_key>別名Composeです。

左側では、<山括弧の間の名前>はキーシムです。キーシムのリスト/usr/include/X11/keysymdef.hはにあります(このファイルはx11proto-core-devUbuntuなどの開発パッケージにあります)。

はい、それは多くのタイピングですが、チャンクをコピーして貼り付けkeysymdef.h、いくつかの賢い大量置換を行うことで、その多くを自動化できるはずです。"\ x dd "構文により、右側の16進コードを再利用して右側の文字列を作成できるので便利です。

#define XK_exclam 0x0021 / * U + 0021 EXCLAMATION MARK * /

<dead_acute> <exclam>: "'\ x21"

最後に、デッドキーとキーを使用してキーボードレイアウトを設定できComposeます。ドイツ人なので、あなたは"デッドキーとしてのみセットアップするかもしれません。あなたがその道を行くなら、最も簡単なオプションは、GUIを使用してデッドキーのないキーボードとデッドキーの.Xmodmapファイルを設定することです。

keysymアポストロフィ=アポストロフィdead_quotedbl

1
OK、私はそれを調べます(今のところ他のマシンではありません)。私は筋肉メモリを再学習する必要があり、Linuxはとにかく私のメインシステムではないので、コンポーズの使用はオプションではありません。そして、私がドイツ人であるからといって、ウムラウト以外に何も必要ないということを想定しないでください;-)。他の言語からインポートされた、重大なアクセントまたは鋭いアクセントを使用する単語はかなり多くあります。
Joey

おそらく、正確にあなたが悩みを持っていると、それらの組み合わせを無効にしてから始めて、あなたは新しいものを見つけたとき、テーブルに追加する方が良いだろうつまりバグあなた、その <dead_acute> <s> : "'s"
RolKau

GTKビルトイン(!)ではなく、でGTK_IM_MODULE=xim定義された構成シーケンスを使用するように設定する必要がある場合もあり~/.XComposeます。
RolKau 2010年

3

この質問はしばらくの間「解決された」ことを知っています。ただし、このページの調査結果と多くのテストおよび実験を組み合わせたソリューションを紹介したいと思います。

Win US Intl for Linuxは、OPが書いたように、LinuxのネイティブUS Intlキーボードレイアウトに問題があるという問題を解決するために私が書いた一連のスクリプトです。主に母国語がスペイン語であるため、私は主にこのサイトを使用していますが、今でも英語のフォーラム、テキスト、チャットなどを数多く使用しています。

注意:これは実際には、Windows XP USの動作(国際キーボードレイアウト)に似ています(まったく同じではありません)。

http://tamh.info/en/win-us-intl-4-linux/にアクセスして確認できます。他のいくつかの変更点の中で、他のいくつかの境界線のケースにさらにXComposeエントリを追加することにより、それを改善する過程にあります。


2
リンクが機能していません。
2018年

3

現在、この問題を解決する.debファイルを提供するgithubリポジトリがあります。

Windows™US International XCompose for Linux

他の回答が示唆しているように、カスタマイズされた.XComposeファイルに基づいています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.