Спасибо, это хороший пример. Также хорошо знать, что переназначение через DefaultKeyBinding.dict является тупиком. Я попробую KeyRemap4MacBook
Шон Маккези
1
Это сработало отлично, спасибо. В случае, если это не понятно другим, вам нужно добавить эти определения private.xmlв его собственный <item>тег <root>. Затем перезагрузите private.xmlи переключите новую опцию.
jrhorn424
Обязательно добавьте имя и идентификатор к записи <item> <name>Disable Command Tab</name> <identifier>private.disable_command_tab</identifier>
Виллем Д'Азелер,
1
Вы можете сделать это как уровень сборки. Для ML 10.8.3 эта Cmd+ Tabрегистрация происходит в подпрограмме по адресу 0x10000b258. В псевдокоде это выглядит так:
И оставь свой Dock.app, он будет работать. Вы также должны снять защиту с двоичного файла Dock перед тем, как сделать это, поскольку двоичный файл Dock зашифрован.
не могли бы вы сделать резервную копию своего ответа с каким-то источником, пожалуйста? весь этот код может сбивать с толку и вызывать недоверие у будущих читателей. надеюсь, вы понимаете.
Лоренцо фон Маттерхорн
1
Также добавьте, что делает оригинальный код, и замену (разборка была бы
хороша,
3
Это довольно крутой ответ. Хотя беспокойство в двух других комментариях, вероятно, справедливо, очень грустно, что все комментарии ставят его под сомнение, но никто не отмечает, что это довольно круто. Как узнать, какой адрес подпрограммы и что такое 090909? (no-op?)
Гал
0
Будет ли приемлемый ответ включать в себя изменение его?
Mac OS X Lion (10.7) испытывает трудности с обнаружением раскладки клавиатуры, когда я впервые подключил ее. Но после следования инструкциям (т.е. нажмите клавишу справа от сдвига влево и т. Д.), Он правильно определяет раскладку.
В Системных настройках у Lion есть замечательная клавиатурная панель:
Затем перейдите к ключам модификаторов ...
Бинго, теперь CapsLock ведет себя как Control.
Или вы можете попробовать связать клавиши:
Отредактируйте файл привязок по умолчанию, ~ / 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 новых сопоставления выше в основной раздел вашего файла. Перезагрузка может потребоваться, чтобы это вступило в силу.
Вам нужно будет настроить приведенный выше код для того, что вы пытаетесь сделать
Хотя это может теоретически ответить на вопрос, было бы предпочтительным включить сюда основные части ответа и предоставить ссылку для справки.
канадец Люк
3
Согласитесь с вышеупомянутым комментатором - этот ответ слишком окольный. Я ценю вашу попытку ответа, но, пожалуйста, постарайтесь быть более прямым. Я чувствую, что эта запись просто может сбить с толку других, которые найдут этот вопрос в будущем. Кроме того, переназначение всего командного ключа на что-то другое не является приемлемым решением для меня, поскольку я использую командный ключ для многих других вещей. Я не могу сказать, позволит ли код, который вы показываете во второй части вашего решения, позволить мне выборочно отключить CMD + TAB, но, если он может объяснить, как это явно.
Шон Маккези
Возможно, лучшая идея, которую я могу предложить, - переназначить командную клавишу на Caps Lock. Вы все еще получаете командный ключ, и я был бы ошеломлен, услышав, что вы действительно используете заглавные буквы для чего-то. Второй вариант заключался в демонстрации объема работы, которую вы должны были выполнить, если у вас есть причина, по которой простой способ не сработает. Помимо этих двух, у меня больше ничего нет для вас. Я предоставил необходимые части, как рекомендовал Люк.
Эверетт
У меня уже есть CapsLock, переназначенный на Escape (обязательно, если вы используете Vim!). Спасибо за ваши усилия, я снова рекомендую вам отредактировать ваш пост. Пожалуйста, просто дайте ссылку на что-нибудь о переназначении клавиш-модификаторов, чтобы будущим браузерам не приходилось разбираться со всем объяснением, когда они знали, что это решение не будет работать для них.
Ответы:
Вы можете сопоставить командную вкладку с другой комбинацией клавиш с KeyRemap4MacBook :
Это отключило бы tab-tab и shift-command-tab:
источник
private.xml
в его собственный<item>
тег<root>
. Затем перезагрузитеprivate.xml
и переключите новую опцию.<name>Disable Command Tab</name> <identifier>private.disable_command_tab</identifier>
Вы можете сделать это как уровень сборки. Для ML 10.8.3 эта Cmd+ Tabрегистрация происходит в подпрограмме по адресу 0x10000b258. В псевдокоде это выглядит так:
Так что если вы замените следующие байтовые коды:
488D35691C2C008B3BBA01000000B901000000E85CD71B0085C0741A488B0DD5FC2400488B39488D355B341C0089C230C0E892C51B00488D0563192C008B38488D352A1C2C00BA02000000B901000000E81FD71B0085C0741A488B0D98FC2400488B39488D3541341C0089C230C0E855C51B00
с:
90909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090909090
И оставь свой Dock.app, он будет работать. Вы также должны снять защиту с двоичного файла Dock перед тем, как сделать это, поскольку двоичный файл Dock зашифрован.
источник
Будет ли приемлемый ответ включать в себя изменение его?
Mac OS X Lion (10.7) испытывает трудности с обнаружением раскладки клавиатуры, когда я впервые подключил ее. Но после следования инструкциям (т.е. нажмите клавишу справа от сдвига влево и т. Д.), Он правильно определяет раскладку.
В Системных настройках у Lion есть замечательная клавиатурная панель:
Затем перейдите к ключам модификаторов ...
Бинго, теперь CapsLock ведет себя как Control.
Или вы можете попробовать связать клавиши:
Отредактируйте файл привязок по умолчанию, ~ / Library / KeyBindings / DefaultKeyBinding.dict. Создайте каталог и / или файл, если их там еще нет, и сделайте так, чтобы он выглядел следующим образом:
Если в DefaultKeyBinding.dict уже есть записи, просто добавьте 4 новых сопоставления выше в основной раздел вашего файла. Перезагрузка может потребоваться, чтобы это вступило в силу.
Вам нужно будет настроить приведенный выше код для того, что вы пытаетесь сделать
источник