Используйте клавишу Eject в качестве горячей клавиши-модификатора с Hammerspoon - PullRequest
0 голосов
/ 28 апреля 2020

Я пытаюсь понять, как эффективно использовать комбинацию клавиш, включающую кнопку eject . Например, я хочу, чтобы Eject + - вызвал событие, а Eject + = , чтобы вызвать отдельное событие.

https://github.com/Hammerspoon/hammerspoon/issues/2115 После ответа, данного в этом вопросе, я могу немного изменить условие, чтобы зафиксировать событие, когда кнопка извлечения нажата и отпущена.

--Notifies when Eject key pressed
--However, it also does so when modifiers pressed. Don't know how to trigger when pressed with specific non "event" key
myEventtap = hs.eventtap.new({ hs.eventtap.event.types.flagsChanged, hs.eventtap.event.types.NSSystemDefined }, function(event)
    local systemKey = event:systemKey()   
    if systemKey.key == "EJECT" and systemKey.down then
      hs.notify.new({title="Displays", informativeText="Turning brightness back up"}):send()
    end
end):start()

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

Единственное, что я могу подумать от руки кажется слишком сложным. Если у меня есть отдельный обработчик событий, который нужно обрабатывать при нажатии клавиши (скажем, минус), но проверка обоих условий для этих отдельных событий может привести к путанице.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...