Questão Passando teclas de atalho de controle para o VirtualBox com AutoHotKey


Eu uso o VirtualBox no host do Windows 10, e meu sistema operacional convidado é o linux openSUSE. Como ainda preciso de muitas teclas de atalho para controle de janelas, não uso o teclado de captura automática no VirtualBox. Como uma desvantagem, não posso usar Alt+Aba  para percorrer os aplicativos quando estou dentro do Linux e, em vez disso, acabo percorrendo os aplicativos do Windows. Gostaria de corrigir isso com AutoHotKey: quando a janela do VirtualBox está ativa, reatribuir Win + Tab para que ele envia Alt+Aba  para Linux (em vez de aparecer o seletor de desktop do Windows). Mas qualquer script que eu descubra, não funciona do jeito que eu quero. Por exemplo, este não tem nenhum efeito:

#IfWinActive, openSUSE13.2 [Running] - Oracle VM VirtualBox
LWin & Tab:: ControlSend, QWidget7, !{Tab}

(embora se na segunda linha eu escrevo! Tab em vez de! {Tab}, funciona como Alt+T atalho em aplicações Linux). Eu também usei Send e SendInput em vez de ControlSend, mas isso não ajuda. O que há de errado com isso?


2


origem


Eu acho que seu objetivo não é alcançável. não importa para qual controle você enviar as chaves, seja o Virtualbox ou o firefox ou qualquer outra coisa, a sequência de teclas! {Tab} sempre será capturada pelo próprio Windows. - David Dai
Mas parece que o sistema operacional convidado dentro do VirtualBox recebe o sinal - como eu escrevi, se eu escrevo "Send! Tab", e se eu pressionar Alt + Tab, isso atua no sistema operacional convidado, mas ele age em um maneira errada (como se eu tivesse pressionado Alt + T). Então o sinal está lá, a única coisa que resta é interpretá-lo corretamente. - Maximko
Claro Alt + T pode ser passado para o sistema operacional convidado porque não é preso pelo Windows, mas eu tenho certeza que ALT + TAB não pode. - David Dai
Bem, provavelmente eu não consegui escrevê-lo mais explicitamente :) O ponto é que quando eu pressiono a combinação de teclas Alt + Tab no meu teclado físico, o sinal é enviado para o sistema operacional convidado, mas é interpretado incorretamente. No entanto, isso implica que o sinal Alt + Tab não passa para o sistema operacional convidado. - Maximko
Eu acho que é passado incorretamente, em vez de interpretado incorretamente. O que realmente passou para a janela Virtualbox eu acho que é, Alt + t, então a, depois b. - David Dai


Respostas: