0

どのアプリケーションでも機能する、Mac のメニュー項目を右クリックするための 3 つのキーボード ショートカットを作成しました。

テキストが選択されている場合:

大文字にするCtrl+C

小文字にするはCtrl+L

大文字にするはCtrl+U

理にかなっていますが、それがレイアウトされたので、キーだけでこれらのショートカットを呼び出す Applescript を作成したいと思いCAPSます。

私が欲しいのは:

テキストが選択されている場合:

ダブルクリックCAPS呼び出しCtrl+C

テキストがUCシングルクリックのCAPS場合Ctrl+L

テキストがLCシングルクリックのCAPS場合Ctrl+U

それ以外CAPSは通常どおり動作します。

これを行う方法はありますか?CAPSキーボード設定では、ホットキー/ショートカットとして使用できません。

4

2 に答える 2

0

不可能ではないにしても、これは難しいことだと思います。私は過去に、キャップのロックダウンまたはロックアップを検出するためにApplescriptを作成しました。(このようなもの)しかし、セットアップには不格好です。また、他のコンポーネントを実行する必要があります。Objective-Cでアプリケーションを使用または作成した場合でも、サードパーティのアプリを実行する必要があります。

最も簡単な解決策は、ファンクションキーを使用することです。それぞれに1つずつ3つ使用できます

于 2013-03-10T15:39:16.400 に答える
0

PCKeyboardHackを使用してCaps Lock を別のキー (F19 など) に変更し、KeyRemap4MacBook のprivate.xmlに次のようなものを追加できます。

<autogen>__DoublePressModifier__ KeyCode::F19, KeyCode::F19, KeyCode::F19, ModifierFlag::COMMAND_L</autogen>

またはキーを保持する場合:

<autogen>__HoldingKeyToKey__ KeyCode::F19, KeyCode::F19, KeyCode::VK_NONE, KeyCode::F19, ModifierFlag::COMMAND_L, Option::NOREPEAT</autogen>

Automator を使用して、小文字/大文字に変換するサービスを作成できます。出力を確認して、選択したテキストを置き換え、次のようなシェル スクリプトの実行アクションを追加します。

export LC_CTYPE=UTF-8
input=$(cat)
grep -q [[:upper:]] <<< "$input" && \
printf %s "$input" | tr [[:upper:]] [[:lower:]] || \
printf %s "$input" | tr [[:lower:]] [[:upper:]]

システム環境設定でショートカット (⌘F19 など) を設定できます。

Automator はデフォルトで C ロケールを使用するため、LC_CTYPE=UTF-8 文字クラスがないと、ASCII 文字のみが含まれます。

于 2013-03-11T06:45:35.963 に答える