Как отключить команду-Q для выхода?

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

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

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

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

Вы ищете глобальный взлом или вы можете просто переназначить приложения, которые хотите переопределить? Последнее довольно просто, используя обычную панель настроек клавиатуры и создав еще один ярлык (например, команда — сдвиг — управление — опция — Q), который не будет нажиматься по прихоти.
bmike: Я бы взял любой из них, но, как я уже сказал, я пытался сделать это командой-опцией-Q, и это не сработало. Если я попытаюсь ввести command-option-shift-Q, он подаст звуковой сигнал и скажет, что системные настройки приложения отменили выход из системы.
Проблема в том, что вам нужно отказаться от выхода из приложения для каждого приложения и включить имя приложения, чтобы полное имя меню было введено в ярлык для конкретного приложения.
bmike: Я указывал переопределение только для Firefox и включал имя приложения в переопределение пункта меню.
Хм - я не прочитал вопрос, означающий, что Firefox намеренно игнорирует сочетание клавиш, определенное OS X, - но, возможно, это то, что вы видите, основываясь на комментариях? Интересно, возможно, они реализовали функцию переназначения ярлыков? Прошло некоторое время с тех пор, как у меня была лиса. Выбор такой команды, как ⌃⇧⌘Z, делает Command-Q нечувствительным к Mail и Safari — посмотрите на эту картинку, как я настроил ярлыки. кл.лы/МДТЭ
bmike: Я так не думаю. Я попытался переназначить Automator таким же образом, и он показывает в меню команду-опция-Q, но все равно завершает работу, когда я нажимаю команду-Q. Я думаю, что OS X (наполовину) игнорирует переназначение.
Вы правы - похоже, это ошибка Firefox, а не проблема OS X. Я успешно переназначил Command-Q в других приложениях, но firefox игнорирует эти сопоставления (я использовал Q для сопоставления с «О Firefox», поэтому теоретически он должен открывать окно «О программе», но на практике Firefox все равно завершает работу).
Приношу извинения за эту акцию, но у меня есть приложение с открытым исходным кодом, которое добавит глобальную задержку к ⌘Q, чтобы вы могли поймать случайные ⌘Q. github.com/dteoh/SlowQuitApps

Ответы (15)

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

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

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


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

Только что зарегистрировался здесь, чтобы проголосовать за этот ответ. Cmd+Qэквивалентно созданию @символа на немецкой раскладке клавиатуры PC-105. Переключение между ПК и Mac сводит меня с ума, потому что я постоянно закрываю браузер, когда где-то захожу. Спасибо за гениальную идею с инвертированием цветов.
Я назначил ему «Переключиться на рабочий стол 1». Поскольку я все равно не использую эту функцию, она фактически ничего не делает.
Бонусный балл за использование инвертирования цветов в качестве предупреждения. Отличная UX обратная связь.
Есть ли способ переназначить CMD + ESC, чтобы сделать выход из системы по всей системе?
Мне нравится твоя идея насчет invert colorтебя, обожаю, выглядит занудно
потрясающе. хотя иногда нужно бросить все, как в случае с липучками. так что назначить его на другую комбинацию клавиш — хорошая идея.
Это лучшая идея, которую я видел за последнее время...
Вы также можете выбрать Launchpad and Dock > Show Launchpadи установить его на Cmd+Q. Это меньше раздражает, чем сильно мигает весь экран, когда цвета инвертируются.
@SiddharthaRT хороший
Одна неделя использования Mac, и я закрывал свою IDE 15 раз, потому что пытался получить документацию по функции. Спасибо!
На самом деле после этого процесса я снова случайно нажал команду + Q, что заставило меня выйти из системных настроек, лол.
Я считаю, что это перестало работать на Каталине. Есть ли способ отключить Cmd+Qтак же легко, как это на Каталине?
@shane: я не пробовал в Каталине.
Количество раз, когда я случайно закрывал программу, по сравнению с тем, сколько раз в моей жизни мне приходилось без необходимости нажимать кнопку в диалоговом окне, чтобы подтвердить, что да, я действительно хочу сделать то, что я только что сказал, что хочу сделать. , да, я знаю, что закрываю его, да, я знаю, что не сохранил, да, пожалуйста, закройте окно, должно быть 50 миллионов к 1. Происходит десятки раз в день. Это настоящий кошмар юзабилити.
Я закрыл приложение «Системные настройки»Cmd+Q , когда пытался назначить эту комбинацию другому действию :facepalm:

Я нашел способ сделать это без необходимости изменять громкость или что-то в этом роде, когда вы нажимаете 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
Работает для меня. Это лучше, чем трюк с инвертированием цветов, отмеченный как ответ.

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

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

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

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

Используя 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первого элемента автоген также отключил бы, например, ⌥⌘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>
В Karabiner Elements (преемнике KeyRemap4MacBook) есть «сложная модификация», которую можно загрузить в Интернете и которая выполняет ту же работу: pqrs.org/osx/karabiner/complex_modifications/#command_q Изменение параметра Safari на Firefox или какой-либо другой браузер просто вопрос изменения регулярного выражения комплекта приложений внутри JSON конфигурации (который должен находиться по адресу ~/.config/karabiner/assets/complex_modifications).
@GustavoBezerra, могу я поговорить с вами об этом в элементах Karabiner? Не могли бы вы присоединиться к чату со мной об этом?

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

Перейдите в «Клавиатура» -> «Добавить новую комбинацию клавиш или последовательность клавиш» -> сопоставьте Cmd + Q с «Нет действий».

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

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

QBlocker

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

это хороший вариант, но кто-то говорит, что он ворует хромированные файлы cookie. пожалуйста, вы можете посмотреть это: github.com/steve228uk/QBlocker/issues/34

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

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

Теперь в меню приложения Chrome есть пункт «Предупреждать перед выходом», который помогает мне.

Источник: http://lifehacker.com/5784153/how-to-bring-back-the-hold-q-to-quit-prompt-in-google-chrome .

Они удалили эту функцию некоторое время назад.
@Miscreant По состоянию на 2020 год он есть.

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

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

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

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

Это не добавляет ничего, что еще не было рассмотрено в других ответах.

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

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

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

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

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

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

24,95 доллара за переназначение ввода? Это весело.

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

Бывший. Я заменил команду Quit для Sublime Text для MAC,

Раньше я добавлял новый ярлык и добавлял новую командуalt+command+c

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

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

В этом подходе есть как положительные, так и отрицательные стороны, но он должен работать.

Перейдите в «Настройки» → «Клавиатура» → «Сочетания клавиш» → «Сочетания клавиш приложений» (на моем Mac: «App-Tastenkurzbefehle») Нажмите «+». Затем добавьте ярлык для программы, которую вы хотите деактивировать Command + Q. Затем введите точное название пункта меню! Поскольку мой Mac немецкий, на нем написано «Safari bedenden».

Я предпочитаю это решение, потому что я все еще могу закрыть сафари коротким путем, но я делаю это не случайно.введите описание изображения здесь

использование Switcher может помешать вам нажать cmd + q по ошибке

Добро пожаловать в Спроси Разное! Хотя теоретически это может ответить на вопрос, было бы предпочтительнее включить сюда основные части ответа и предоставить ссылку для справки.