Как отключить команду Q для Quit?

80

Есть ли способ отключить command+ Qдля выхода из приложений?

Я попытался добавить этот пункт меню на панель настроек «Сочетания клавиш» (как предложено здесь ) и переназначить его на command+ option+ Q(немного сложнее нажать), и элемент меню изменился, чтобы показать это, но command+ Qвсе равно заставляет приложение закрываться.

Я использую OS X 10.7, но я бы с радостью обновился до 10.8, если бы это исправило.

Приложение, для которого я действительно хочу это Firefox, но если бы было решение, которое отключало command+ Qдля каждого приложения, это тоже было бы хорошо.

кругозор
источник
1
Вы ищете глобальный хак или сможете просто переназначить приложения, которые хотите переопределить? Последнее довольно просто, если использовать обычную панель настроек клавиатуры и создать другую комбинацию клавиш (например, команда - shift - control - option - Q), которая не будет нажата прихоти.
bmike
bmike: Я бы взял и то и другое, но, как я уже сказал, я попытался сделать это command-option-Q, и это не сработало. Если я пытаюсь ввести command-option-shift-Q, он издает звуковой сигнал и говорит, что системные настройки приложения отменили выход из системы.
Кен
Проблема в том, что вам нужно перезапустить выход для каждого приложения и включить имя приложения, чтобы полное имя меню было введено в ярлык для приложения.
bmike
bmike: я определял переопределение только для Firefox и включал имя приложения в переопределение пунктов меню.
Кен
1
Хм - я не читал вопрос, чтобы означать, что Firefox преднамеренно игнорирует сочетания клавиш, определенные в OS X - но, возможно, это то, что вы видите, основываясь на комментариях? Интересно, возможно, они реализовали функцию переназначения ярлыков? Прошло много времени с тех пор, как я бегала лиса. Выбор такой команды, как ⌃⇧⌘Z, делает нечувствительным Command-Q для Mail и Safari - посмотрите эту картинку, чтобы узнать, как настроить ярлыки. cl.ly/MDtE
bmike

Ответы:

118

Перейдите в Системные настройки, затем Клавиатура. Выберите Ярлыки. На левой панели найдите Доступность. Теперь на правой панели включите инвертирование цветов, а затем нажмите на ярлык, чтобы переназначить ярлык на Cmd + Q.

Вот и все. Теперь, когда вы нажимаете Cmd + Q, цвета экрана будут инвертированы. Нажмите еще раз, чтобы вернуться к обычным цветам. Больше не нужно случайно выходить из приложений (например, закрывать более двухсот вкладок в Firefox при попытке использовать Cmd + a или три десятка PDF-файлов в Preview при попытке использовать вкладку Cmd +; последние две вещи, которые я сделал, никогда больше).

PS Кто бы не подумал, что для выхода из приложений было бы неплохо использовать Cmd + Q, следует вернуться в школу юзабилити.


Есть также хороший плагин, который вы можете использовать, который называется Always Ask , который вызывает диалоговое окно с подсказкой перед выходом из Firefox.

Даниил
источник
12
Только что зарегистрировался, чтобы проголосовать. Cmd+Qявляется эквивалентом создания @символа на немецкой раскладке клавиатуры PC-105. Переключение между ПК и Mac сводит меня с ума, потому что я продолжаю закрывать браузер при входе в систему. Спасибо за блестящую идею с инвертированием цветов.
Вакар Лим
4
Я назначил его «Переключиться на рабочий стол 1». Так как я все равно не использую эту функцию, она фактически ничего не делает.
Тиктак
3
Бонус за использование инвертированных цветов в качестве предупреждения. Отличная UX обратная связь.
Джейсон
2
Мне нравится твоя идея invert color, нравится тебе , она выглядит кретин
vanduc1102
1
Вы также можете выбрать Launchpad and Dock > Show Launchpadи установить его Cmd+Q. Это менее раздражает, чем весь ваш экран, сильно вспыхивающий, когда цвета инвертируются.
Сиддхартар
7

Используя KeyRemap4MacBook, вы можете добавить это в private.xml :

<item>
  <name>disable_command_q</name>
  <identifier>disable_command_q</identifier>
  <autogen>__KeyToKey__ KeyCode::Q, VK_COMMAND | ModifierFlag::NONE, KeyCode::VK_NONE</autogen>
  <autogen>__KeyToKey__ KeyCode::Q, VK_COMMAND | VK_SHIFT | ModifierFlag::NONE, KeyCode::Q, ModifierFlag::COMMAND_L</autogen>
</item>

Без | ModifierFlag::NONEпервого элемента autogen также отключился бы, например, ⌥⌘Q. Второй элемент автогена меняет ⇧⌘Q на ⌘Q.

Существуют также предустановленные настройки, при которых для отправки ⌘Q требуется удерживать ⌘Q или дважды нажать ⌘Q:

Они определены в custom_shortcuts.xml :

<item>
  <name>Hold Command+Q to Quit Application</name>
  <appendix>(You can adjust the threshold time of holding by</appendix>
  <appendix>"[Holding Key to Key] Holding Threshold" in Key Repeat tab.)</appendix>
  <identifier>remap.holdcommandQ</identifier>
  <autogen>__HoldingKeyToKey__ KeyCode::Q, VK_COMMAND | ModifierFlag::NONE, KeyCode::VK_NONE, KeyCode::Q, VK_COMMAND, Option::NOREPEAT</autogen>
</item>
<item>
  <name>Press Command+Q twice to Quit Application</name>
  <identifier>remap.doublepresscommandQ</identifier>
  <autogen>__DoublePressModifier__ KeyCode::Q, VK_COMMAND | ModifierFlag::NONE,
    KeyCode::VK_NONE,
    KeyCode::Q, VK_COMMAND
  </autogen>
</item>
LRI
источник
2
В Karabiner Elements (преемнике KeyRemap4MacBook) есть «сложная модификация», которую можно загрузить онлайн, чтобы выполнить ту же задачу: pqrs.org/osx/karabiner/complex_modifications/#command_q Изменение параметра Safari для Firefox или другого браузера просто вопрос изменения регулярного выражения пакета приложения в конфигурационном JSON (который должен быть расположен в ~/.config/karabiner/assets/complex_modifications).
Густаво Безерра
5

Извините, что выкопал такой старый пост, но эта идея может быть полезной .

В Системных настройках - Клавиатура создайте новый ярлык для приложения, которое вы хотите предотвратить, чтобы выйти. Найдите заголовок команды quit в меню приложения и введите то же значение, что и в заголовке меню для ярлыка, а затем назначьте другой ярлык.

Действительно, эта проблема возникает не во всех приложениях, а только в браузере и, возможно, в одном или двух других приложениях.

user67010
источник
1
Добро пожаловать, чтобы спросить другого! Хотя эта ссылка может ответить на вопрос, лучше включить сюда основные части ответа и предоставить ссылку для справки. Ответы, содержащие только ссылки, могут стать недействительными, если связанная страница изменится.
grg
2
Это решение не относится к Firefox. Firefox показывает новый ярлык в своем меню. Но это не работает. cmd-q по-прежнему закрывает браузер ...
JerryWho
Я перешел по этой ссылке, которая описывает то же решение, и это отлично сработало для меня.
Тотемедли
Я просто добавил ярлык «Option Q» для «Выход из Firefox» в качестве ярлыка для приложения (Firefox) для Firefox. В Firefox мой пункт меню «Выход из Firefox» теперь показывает opt Q, а cmd Q больше не выходит из приложения, а opt Q -. Вы должны получить правильный текст пункта меню. О, я вижу, мы здесь на пару лет вперед; с OS X 10.12.3. и Firefox 51.0.
Wayfaring Незнакомец
Хорошо подходит для Safari (Safari уважает ярлык) и экономит здравомыслие для тех из нас, кто часто нажимает CMD + Q вместо CMD + W.
AncientToaster
5

Я нашел способ сделать это без необходимости изменять громкость или тому подобное, когда вы нажимаете command+ Q.

зайдите в системные настройки -> клавиатура -> управление полетом -> "не беспокоить".

Затем просто нажмите на поле и измените его на: command+ Q.

помощник
источник
Хороший трюк. Просто хочу добавить - если по-прежнему хотите сохранить возможность выхода из приложения с помощью ярлыка, но таких настроек нет, то вы можете сделать это, перейдя Settings-> Keyboard-> вкладка Shortcuts-> из списка левых элементов выбрать App Shortcuts-> нажать +кнопку, добавить Ваше приложение -> Важно! введите точно Quitи назначьте свой ярлык. Наслаждайтесь! i.ibb.co/PzHvfRh/Screen-Shot-2019-09-04-at-10-38-12-AM.png
Станислав Барановский
4

Используйте переназначение клавиатуры. Есть отличный GPL для OSX (я использую Keyremap4MacBook). Просто сопоставьте комбинированный ключ команды Q с тем, что ничего не делает.

Grok
источник
1
Теперь называется Karabiner: pqrs.org/osx/karabiner Не работает под 10.12, будет работать с более ранними ОС. Здесь есть заранее написанный ярлык для глобального изменения cmd Q на что-то еще здесь: pqrs.org/osx/karabiner/list.html.en в разделе Пользовательские
Wayfaring Stranger
3

Не прямой ответ на ваш вопрос, но вы можете сказать Firefox, чтобы он автоматически открывал ваши старые окна при запуске, используя When Firefox startsопцию на Generalпанели настроек.

Если вы не хотите менять стартовый экран только для случайного случайного выхода, для этого также есть команда: Historymenu -> Restore Previous Session.

моток
источник
10
Да, но если открыто много окон / вкладок, это может занять довольно много времени, а некоторые не смогут полностью восстановить свой сеанс / состояние. Он также досадно восстанавливает все окна в текущем пространстве, а не в том месте, где они были ранее.
Кен
1

Перейдите в « Системные настройки»> «Клавиатура»> «Ярлыки», затем нажмите кнопку приложения на левой панели . Нажмите кнопку + , затем выберите свое приложение. Напишите «Выход (имя приложения)» в слот с заголовком меню. Добавьте вашу команду для замены cmd-q и все.

MacPro
источник
Это не добавляет ничего, что другие ответы еще не охватили.
Тецудзин
1

QBlocker

QBlocker - это бесплатное приложение с открытым исходным кодом, которое решает эту проблему, требуя от пользователя удерживать нажатой клавишу CMD + Q, чтобы закрыть все приложения или только некоторые из них.

Стив Мозер
источник
0

Как вы уже видели, установка новых сочетаний клавиш в системных настройках не всегда работает. Это изменит ярлык, показанный в меню, но приложение все еще может прослушивать нажатие клавиши Commmand + Q. Я видел несколько приложений, которые делают это. Даже некоторые будут слушать нажатия клавиш, которые не указаны в меню как ярлыки (например, Photoshop).

Сторонний вариант - использовать что-то вроде ControllerMate . Он имеет возможность переназначить любой вход контроллера (клавиатура, мышь, трекпад, джойстик и т. Д.) И изменить то, что он делает. Я использую его, чтобы сделать много переизданий и запустить макропрограммы. Они могут быть установлены для каждого приложения или для состояния всей системы.

Используя ControllerMate, вы можете сопоставить Command + Q, чтобы ничего не делать, а затем Command + Option + Q вызвать пункт меню Quit. Или вы можете получить фантазию и заставить Command + Q ничего не делать, если только вы не нажмете Command + Q снова в течение 1/2 секунды, после чего появится меню «Выход».

ControllerMate - удивительное приложение. Я сделал много настроек, таких как «Режим босса / супруга», который является одним нажатием клавиши, который делает следующее

  • отключение звука компьютера
  • приостанавливает iTunes, если он играет
  • выходит из QuickTime и / или VLC, если он работает
  • сворачивает текущие окна Firefox и открывает новое окно для Google.com

Другое предложение (наряду с предложением Генри) состоит в том, чтобы использовать менеджер сессий, поэтому, если Firefox завершает работу случайно, вы можете легко восстановить. Встроенный менеджер сессий в порядке, но вы также должны взглянуть на Tab Mix Plus . Он не только дает вам удивительные возможности для управления вкладками, но и его менеджер сеансов также великолепен. Я сохранил много сессий и могу быстро их открыть в любое время в новых окнах.

Бессонница программного обеспечения
источник
5
24,95 $ для репаратора ввода? Это весело.
Навин
0

Просто я заменил существующую команду на новую,

Ex. Я заменил команду Quit для Sublime Text для MAC,

Я использовал, чтобы добавить новый ярлык и добавил новую команду alt+command+c

SagarPPanchal
источник
0

Вы можете отключить Cmd + Q, используя BetterTouchTool (замечательное приложение) для Mac OS:

Перейти к клавиатуре -> Добавить новый ярлык или последовательность клавиш -> сопоставить Cmd + Q с «Бездействием»

введите описание изображения здесь

Дио Фунг
источник
0

Существует решение, которое не опубликовано здесь, и которое, я думаю, заслуживает рассмотрения. Если вы не возражаете против полного удаления команды + q с вашего компьютера, вы можете эффективно переназначить в Ukulele, чтобы Command + Q выполнила другое сочетание клавиш.

Вы можете заставить его выполнить команду + пробел или команду + 1, просто назначив его чему-то другому.

У этого подхода есть свои плюсы и минусы, но он должен работать.

Уильям
источник