web-dev-qa-db-ja.com

Aquamacs:アプリケーションレベルで、MetaキーにCapslockを再マップする方法は?

Aquamacsでは、どのように私はCapslockキーをメタに取り戻すことができますか?コマンドを使用してコマンドを取り除くことができます。

(setq mac-command-modifier 'ctrl)

カプソックを取り戻すための同様の方法はありますか?

編集:私はシステム環境設定で鍵を取り戻すことができることを知っていますが、私は本当にAquamacsのみの損害だけを閉じ込もりたいのです。コマンドキーをCtrlにマッピングするのと同じですが、capslockには。

2
Rob

「修飾キー」「システム環境設定」のセクションから、アプリケーションがCAPS LOCKキーの動作を上書きできるとは思わない。

CAPS LOCK KEYイベントがアプリケーションに渡されていないことはかなりよく、トグル効果を上書きすることもできません.多分あなたはCAPSロックキー状態を監視し、それがそれをいつでも送ることができます。変化..しかしこれは非常に複雑で、やや役に立ちません(あなたが鍵を持っているならば、それはうまくいきません)

本当に他のアプリケーションでCaps Lockキーが必要ですか?

もしそうなら、おそらくCAPSロックキーマッピングを切り替えるためにAppleScriptを書くことができますか?たとえば、疑似コードで:

loop forever:
    if frontmost application == "Aquaemacs":
        keys.capslock = "Meta"
    else:
        keys.capslock = "Default
 _

AppleScriptを使用して、 からコードを使用してはいけませんAppleサポートスレッド ]は、良いスタートになるはずです。

tell application "System Preferences"
    activate
    set current pane to pane "com.Apple.preference.keyboard"
end tell

tell application "System Events"

    tell application process "System Preferences"
        get properties

        click button "Modifier Keys..." of tab group 1 of window "Keyboard & Mouse"
        tell sheet 1 of window "Keyboard & Mouse"
            click pop up button 1
            click menu item "No Action" of menu 1 of pop up button 1
            delay 3
            click button "OK"
        end tell
    end tell
end tell
 _
1
dbr

System Preferencesウィンドウで、CAPSロックを制御、オプション、またはコマンドに再マップできます。システム設定 - >キーボード - >修飾キー...うまくいけば、それがあなたの探しているものです。

2
jluebbert