Teclas de atalho de sinergia: afunilando-as para uma caixa

3

Estou trabalhando com o Synergy (GUI) e estou tentando criar teclas de volume que alteram o volume de um computador, independentemente da tela atualmente ativa. Eu tenho duas telas, vamos chamá-las de A e B. Para simplificar, vou me referir apenas à tecla de atalho para aumentar o volume, já que adicionar volume para baixo e silenciar o volume deve ser simples se eu puder descobrir uma delas.

Se eu pressionar F12 em A ou B, quero que o volume aumente em B.

Eu tentei várias configurações:

1)

On keystroke(F12):
   Switch to Screen B
   Send key VolumeUp

2)

On keystroke(F12):
   Switch to Screen B
   Send key F12

AHK Script defines F12 as hotkey VolumeUp On B

3)

Both of the above
Switch to Screen A

Nada disso me deu a funcionalidade que estou procurando. Muitas vezes, o volume não muda e nem a tela. Na verdade, configurá-las, na ocasião, fez com que o script AHK não funcionasse. Minha funcionalidade preferida absoluta seria:

On keystroke(F12):
  Determine which screen is currently active
  Make Screen B active if it isn't already
  Increase the system volume
  Return to the previously active screen

Alguém tem alguma indicação sobre como fazer isso funcionar?

== Editar, mais informações == Script AHK:

F11::Send {Volume_Down 3} ; Lower the master volume by 3 interval (typically 5%)
Return

F12::Send {Volume_Up 3}  
Return

F10::Send {Volume_Mute} ; Mutes The system Volume
Return

Novamente, observe que esse script funciona muito bem no local.

Configuração do Synergy:

section: screens
balthazar:
    halfDuplexCapsLock = false
    halfDuplexNumLock = false
    halfDuplexScrollLock = false
    xtestIsXineramaUnaware = false
    switchCorners = none 
    switchCornerSize = 0
midnight:
    halfDuplexCapsLock = false
    halfDuplexNumLock = false
    halfDuplexScrollLock = false
    xtestIsXineramaUnaware = false
    switchCorners = none 
    switchCornerSize = 0
end

section: aliases
end

section: links
balthazar:
    right = midnight
midnight:
    left = balthazar
end

section: options
relativeMouseMoves = false
screenSaverSync = true
win32KeepForeground = false
switchDelay = 10
switchCorners = none 
switchCornerSize = 0
keystroke(F11) = switchToScreen(midnight), keyDown(F11,midnight) ; keyUp(F11,midnight)
keystroke(F12) = switchToScreen(midnight), keyDown(F12,midnight) ; keyUp(F12,midnight)
keystroke(F10) = switchToScreen(midnight), keyDown(F10,midnight) ; keyUp(F10,midnight)
end

Como você pode ver, eu tenho andado por aí com as teclas de atalho. Eu tinha certeza que isso funcionaria, mas não é: (

== EDIT, mais informações ==

Ok, com base em algumas conversas no IRC que eu tenho feito, eu decidi abordá-lo desta maneira: Os clientes individualmente terão que traduzir qualquer chave que quiserem no AudioUp, e o Synergy irá empurrar todos os comandos do AudioUp para a meia-noite. A tecla de atalho da Synergy agora está assim:

keystroke(AudioUp) = keystroke(AudioUp,midnight)

Então, ainda tenho o AHK configurado com:

F12::Send {Volume_Up 3}

E eu estava esperando que isso acontecesse. Mas isso não aconteceu. Eu vou investigar se o AHK é o culpado aqui (talvez Volume_Up! = AudioUp)

    
por Cody S 28.02.2012 / 19:20

1 resposta

0

Eu só queria dizer que consegui fazer isso funcionar usando basicamente o que você disse que sua segunda tentativa foi.

Você provavelmente estava tendo um conflito com o AHK e o Synergy porque isso funcionou para mim:

Quando eu pressiono o volume para baixo / para cima, para reproduzir / pausar no meu computador principal, eu quero que ele efetue o meu outro PC (aquele que está tocando minha música)

    keystroke(AudioDown,PC1) = keystroke(AudioDown,PC2)
    keystroke(AudioUp,PC1) = keystroke(AudioUp,PC2)
    keystroke(AudioNext,PC1) = keystroke(AudioNext,PC2)
    keystroke(AudioPrev,PC1) = keystroke(AudioPrev,PC2)

Meu conselho é salvar seu arquivo de configuração e depois abrir o arquivo que você salvou e editá-lo.

Aqui está o meu arquivo de configuração completo:

section: screens
PC1:
    halfDuplexCapsLock = false
    halfDuplexNumLock = false
    halfDuplexScrollLock = false
    xtestIsXineramaUnaware = false
    switchCorners = none 
    switchCornerSize = 0
PC2:
    halfDuplexCapsLock = false
    halfDuplexNumLock = false
    halfDuplexScrollLock = false
    xtestIsXineramaUnaware = false
    switchCorners = none 
    switchCornerSize = 0
end

section: aliases
end

section: links
PC1:
    right = PC2
PC2:
    left = PC1
end

section: options
    keystroke(AudioDown,PC1) = keystroke(AudioDown,PC2)
    keystroke(AudioUp,PC1) = keystroke(AudioUp,PC2)
    keystroke(AudioNext,PC1) = keystroke(AudioNext,PC2)
    keystroke(AudioPrev,PC1) = keystroke(AudioPrev,PC2)
    relativeMouseMoves = false
    screenSaverSync = true
    win32KeepForeground = false
    switchCorners = none 
    switchCornerSize = 0
 end
    
por 15.05.2014 / 02:49