Como silenciar o microfone no Key-Down e ativar o som no Key-Up?

3

O que eu gostaria de ter é:

  1. Por padrão, o microfone deve estar mudo
  2. Quando CapsLockestá baixo, o microfone deve ativar
  3. Quando CapsLockestá em cima, o microfone deve silenciar

(Basicamente converter meu Skype para agir como um walkie-talkie com uma funcionalidade push-to-talk )

Eu encontrei o AppleScript que pode alterar a entrada de volume do microfone, então o primeiro passo foi fácil, mas eu não encontrei nenhuma maneira de atribuir o mesmo CapsLocka um script. Note que a minha CapsLockchave está desligada e eu não gostaria de experimentar algo como o sTART.

Se o CapsLockfor muito especial, não me importaria de usar outra chave, mas quero obter a mesma funcionalidade.

Edit : Provavelmente não é realmente possível fazê-lo sem usar qualquer aplicativo, por isso, se houver um aplicativo que pode fazer isso, também funcionaria para mim.

Lipis
fonte
Talvez essa funcionalidade possa ser adicionada ao aplicativo / software que você usará para gravação. Então, em qual aplicativo você vai usá-lo?
nuc
@nuc Basicamente eu quero usá-lo quando estou falando no Skype .. Eu quero usá-lo como um walkie-talkie .. para falar você deve pressionar um botão ..! :)
Lipis

Respostas:

4

Primeiro, o AppleScript que inspeciona o estado da chave e manipula o microfone ativando e silenciando:

if (modKeyDowntest()) then
  tell application "System Events" to set volume input volume 100
  repeat while modKeyDowntest()
  end repeat
  tell application "System Events" to set volume input volume 0
end if

on modKeyDowntest()
  set modKeyDown to do shell script "~/opt/checkModifierKeys shift"
  set modKeyDown to modKeyDown as integer
  set modKeyDown to modKeyDown as boolean
end modKeyDowntest

Observe que

  • o script depende do checkModifierKeysaplicativo de linha de comando (e seu caminho).
  • inspeciona o estado de shiftem vez de caps lock(outras possibilidades são cmd, option, controle caps lock- caps lock, no entanto, significa que o estado de Caps Lock, e não o estado-chave!)

Na segunda etapa, ligamos o script a um atalho-chave. Existem muitos aplicativos que podem fazer isso (alguns listados em uma resposta no SuperUser ) ou como um serviço do Automator. (C & P da resposta de Lri ...)

Mais uma opção é salvar o script como um serviço do Automator:

  • Abra o Automator e escolha o modelo de serviço .
  • Utilitários - Executar script shell / executar o AppleScript .
  • O serviço recebe [nenhuma entrada] em [qualquer aplicativo] .
  • Adicione o script à área de texto e salve.
  • Atribuir um atalho em Preferências do Sistema - Teclado - Atalhos de teclado - Serviços .

Então, eu atribuí opt+ shift+ Mao script acima e ele habilita o microfone, mantendo-o ligado enquanto aguento shift. O microfone é silenciado novamente quando eu solto shift.

Jawa
fonte
Pode haver algum aplicativo CLI para inspecionar o estado chave do caps lock, portanto, checkModifierKeys poderia muito bem ser substituído para fazer o script agir no caps lock.
Jawa
1
E para essa pergunta, o status mudo é o oposto, conforme necessário, portanto, inverta os volumes para obter a funcionalidade correta.
Jawa
Obrigado por isso .. Eu não tenho tempo agora para testar todas essas coisas .. mas basicamente o que eu quero é usar o Skype como um walkie-talkie ... segure uma tecla para falar ..! Então, eu preferiria uma tecla como F5 ou algo assim, se o CapsLock está fora de questão :)
Lipis
Por favor, você pode atualizar a resposta para coincidir com a pergunta, conforme necessário .. e eu acho que essa é a resposta ..
Lipis
1

Eu não usei, mas Skii plugin para o Skype, parece fornecer o que você está procurando:

O Skii é um plug-in muito fácil de usar e simples que usa a API do Skype para simplificar a função Push-to-Talk. O aplicativo dá ao usuário a possibilidade de controlar a função Push-To-Talk do Skype com apenas um botão! um pequeno utilitário que irá melhorar definitivamente a sua experiência de usuário do Skype, mas também seu fluxo de trabalho geral.

nuc
fonte
mesmo que o outro é mais largo e isso é o que eu perguntei .. eu acho que eu tenho que ir com o outro :) obrigado pela Skii ..
Lipis
1
@lipis eu escolheria o outro também :)
nuc