質問: m-c、m-v、m-aを使用して、コピー、貼り付け、すべて選択 macbookproでkubuntulinux 12.04を使用していますが、コピー、貼り付け、すべて選択などの一般的なショートカットにcommand/metaキーを使用する機能を探しています。試みられた解決策: kdeのシステム設定>ショートカットとジェスチャ>標準キーボードショートカット[.____]で、コピー、貼り付け、すべて選択などを再マップします。 問題:これらのショートカットはほとんどのアプリケーションで無視されているようです。私がテストしたすべてのwebブラウザーは、 ctrl 使用したいという希望を示したキー meta キー。動作するwebブラウザーが見つからなかったため、他のアプリケーションを試しませんでした。 テスト済み:firefox、chromium、rekonq、arora、konqueror。 スワップ meta と ctrl xmodmapを使用 。 問題:ターミナルエミュレータでは、 meta の代わりにキー ctrl キーボード割り込み、ほとんどのemacsバインディング、およびさまざまなcliアプリケーションでの無数の他のバインディングなどのコマンドのキー。 考慮される解決策: guiアプリケーション内の一般的なショートカットを個別に変更します。残念ながら、コピー、貼り付け、およびすべて選択のバインディングを変更できることはまれなようです。 konsole(または別のターミナルエミュレーター)のみのctrl修飾子を変更します。これにより、理想的には meta-x キーストロークを生成する ctrl-x およびその逆。しかし、これを達成する方法を見つけることができません。 sttyを使用 ターミナルキーコマンドのバインディングを変更してメタを使用し、さらに他のすべてのcliアプリケーションのカスタム構成ファイルを書き込みます。これを達成するには、不当な量の努力が必要になります。 この単純な変更にどれほどの労力が必要であるかに非常に驚いています。合理的な解決策を見つけるために提供できる支援に感謝します。
回答: linuxカーネルは、キーボードのキーが押されるたびにコードを生成します。そのコードは、表示される図を定義するkeycodesのテーブルと比較されます。このプロセスは、xorgの独自のテーブルを開始するkeycodesによって複雑になります。各keycodeはkeysymに属することができます。 keysymは関数のようなもので、キーを入力することから始まります。 xmodmapを使用すると、これらのkeycode-keysymリレーションを編集できます。xmodmapを使用して現在のキーマップテーブルを取得するには、次を使用します。xmodmap -pke これにより、テーブル全体が次の形式で印刷されます。keycode <keycode#> = <boundkey> <boundkey> 前何かを移動するには、必ずxmodmap -pke >> $home/xmodmap.origを使用して元のkeycodeレイアウトをバックアップしてください。これにより、ファイルxmodmap.origがユーザーのホームディレクトリに配置されます。ヒント:いくつかの定義済みのキーコードもあります(例:xf86audiomute、xf86mail)。これらのキーコードは次の場所にあります:/usr/include/x11/xf86keysym.hキーを編集することもできます:shift、ctrl、alt、super(常に左右のキーが存在します(alt_r=altgr))。ctrlとsuper(windowsキー)を交換した場合の構成の例は次のとおりです。クイック:keycode 255 = !add shift = shift_l shift_r !add lock = caps_lock add control = super_l super_r !add mod1 = alt_l alt_r !add mod2 = mode_switch !add mod3 = add mod4 = control_l control_r !add mod5 = (!は、行にコメント/無視するために使用されます。この例では、superキーとcontrolキーのみが調整されます)この構成は$home/.xmodmapに保存され、xmodmap ~/.xmodmap~/.xinitrcに追加して、xwindowsでこれを開始することもできます。また、問題が発生した場合は、いつでもxmodmap.orgに戻すことができます。これらのキーに依存するアプリケーションのバインディングも移動されます。したがって、機能が失われないように、すべてがバインドされたままであることを確認してください。綱引きの試合です。