質問: alt_l alt_r 私の目標は私のオプションを作ることです(別名 alt)キーはcontrolキーのように動作し、windows(別名スーパー)キーを次のように動作させます alt。問題のキーに対してxevによって出力されるキーコードとkeysmsは次のとおりです。私のキーボード(goldtouchエルゴノミックキーボード)には、コントロールキーが1つしかありません。 keycode 37(keysym 0xffe3、control_l) keycode 64(keysym 0xffe9、alt_l) keycode 133(keysym 0xffeb、super_l) keycode 134(keysym 0xffec、 super_r) keycode 108(keysym 0xffea、alt_r) xmodmap .xmodmapの実行中にxevが表示する内容は次のとおりです。 mappingnotifyイベント、シリアル34、合成no、ウィンドウ0x0、 リクエストmappingkeyboard、first_keycode 204、カウント1 mappingnotifyイベント、シリアル34、合成no、ウィンドウ0x0、 リクエストmappingkeyboard、first_keycode 64、カウント1 mappingnotifyイベント、シリアル34、合成no、ウィンドウ0x0、 リクエストmappingkeyboard、first_keycode 108、カウント1 mappingnotifyイベント、シリアル34、合成no、ウィンドウ0x0、 リクエストmappingkeyboard、first_keycode 206、カウント1 mappingnotifyイベント、シリアル34 、合成no、ウィンドウ0x0、 リクエストmappingkeyboard、first_keycode 133、カウント1 mappingnotifyイベント、シリアル34、合成no、ウィンドウ0x0、 リクエストmappingkeyboard、 first_keycode 134、カウント1 そして、これがxmodmapによって返されるエラーです。 x失敗したリクエストのエラー:badvalue(整数パラメーターが操作の範囲外です) 失敗したリクエストのメジャーオペコード:118(x_setmodifiermapping) 失敗したリクエストの値:0x17 失敗したリクエストのシリアル番号:17 出力ストリームの現在のシリアル番号:17 これを解決する方法について何か提案はありますか?
回答: 別の修飾キーにすでに追加されている修飾キーにkeysymを追加しようとすると、問題が発生します。修飾子にキーシムを追加すると、場合によってはキーシムに付随する他のすべてのキーシムがその修飾子にも追加されることを知っておくことが重要です。例えば:clear mod5 add mod5 = iso_level3_shift mode_switch 結果として生じる可能性がありますmod5 backslash (0x33), caps_lock (0x42), iso_level3_shift (0x5c), mode_switch (0xcb) あなたはのようなものを持っているのでkeycode 66 = caps_lock nosymbol iso_level3_shift 〜/ .xmodmap内(xmodmap -pkeを介して現在のキーコードからkeysymへのマッピングを表示します)次のようなこともしようとすると、問題のbadvalueエラーが発生しますadd lock = caps_lock caps_lockはすでにmod5モディファイアに追加されているためです。