このショートカットは私を夢中にさせます。コーディング中にスニペット挿入用のコマンドタブを再マッピングしたいのですが、スイッチャーが邪魔をしています...
このショートカットは私を夢中にさせます。コーディング中にスニペット挿入用のコマンドタブを再マッピングしたいのですが、スイッチャーが邪魔をしています...
回答:
KeyRemap4MacBookを使用して、コマンドタブを別のキーの組み合わせにマッピングできます。
<autogen>__KeyToKey__ KeyCode::TAB, VK_COMMAND | ModifierFlag::NONE, KeyCode::F19</autogen>
これはコマンドタブとシフトコマンドタブを無効にします:
<autogen>__KeyToKey__ KeyCode::TAB, VK_COMMAND | ModifierFlag::NONE, KeyCode::VK_NONE</autogen>
<autogen>__KeyToKey__ KeyCode::TAB, VK_COMMAND | VK_SHIFT | ModifierFlag::NONE, KeyCode::VK_NONE</autogen>
private.xml
の独自の<item>
タグにこれらの定義を追加する必要があります<root>
。次に、リロードprivate.xml
して新しいオプションを切り替えます。
<name>Disable Command Tab</name> <identifier>private.disable_command_tab</identifier>
アセンブリレベルで実行できます。ML 10.8.3の場合、このCmd+ Tab登録は、アドレス0x10000b258のサブルーチンで行われます。疑似コードでは、次のようになります。
rax = CPSRegisterForKeyOnConnection(*(int32_t *)rbx, 0x1002cd078, 0x1, 0x1);
if (rax != 0x0) {
fprintf(**__stderrp, "Error registering cmd-tab key, %d\\n");
}
rax = CPSRegisterForKeyOnConnection(*(int32_t *)0x1002ccda8, 0x1002cd078, 0x2, 0x1);
if (rax != 0x0) {
fprintf(**__stderrp, "Error registering cmd-shift-tab key, %d\\n");
}
したがって、次のバイトコードを置き換えると、
488D35691C2C008B3BBA01000000B901000000E85CD71B0085C0741A488B0DD5FC2400488B39488D355B341C0089C230C0E892C51B00488D0563192C008B38488D352A1C2C00BA02000000B901000000E81FD71B0085C0741A400B0394004001400C400414004001400C400C400C1400C400C1400C400C1400C1400C400C1400C1400C1400C400C1400C1400C1400C1400C1400C1400C1400C1400C1400C1400C10000
と:
90909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090
そして、あなたのDock.appを辞任してください、それは動作します。Dockバイナリは暗号化されているため、これを行う前にDockバイナリの保護を解除する必要もあります。
許容できる答えには、それを再マッピングすることが含まれますか?
Mac OS X Lion(10.7)は、最初にプラグインしたときにキーボードレイアウトを検出するのが困難です。ただし、指示(つまり、左シフトの右側にあるキーを押すなど)を実行すると、レイアウトが正しく識別されます。
システム環境設定では、Lionには素晴らしいキーボードパネルがあります。
次に、修飾キーに移動します…
ビンゴ、現在CapsLockはコントロールとして動作します。
または、キーバインディングを試して実行することもできます。
デフォルトのキーバインディングファイル〜/ Library / KeyBindings / DefaultKeyBinding.dictを編集します。ディレクトリやファイルがまだない場合は作成し、次のようにします。
{
/* Remap Home / End to be correct */
"\UF729" = "moveToBeginningOfLine:"; /* Home */
"\UF72B" = "moveToEndOfLine:"; /* End */
"$\UF729" = "moveToBeginningOfLineAndModifySelection:"; /* Shift + Home */
"$\UF72B" = "moveToEndOfLineAndModifySelection:"; /* Shift + End */
}
DefaultKeyBinding.dictに既にエントリがある場合は、上記の4つの新しいマッピングをファイルのメインセクションに追加するだけです。有効にするために再起動が必要になる場合があります。
あなたがやろうとしていることのために上のコードを調整する必要があります