Fiquei um pouco intrigado.. sempre usava o KeyboardEvent, mas nunca com teclas combinadas, então fiz uns testes para ver se realmente não capturava, coloquei essa função teste no keyDown de um componente.
private function teste(event:KeyboardEvent):void{ trace(event.keyCode); trace(event.ctrlKey); //if(event.ctrlKey && event.keyCode == Keyboard.F1) // trace("CTRL + F1"); if(event.ctrlKey && event.keyCode == 88) trace("CTRL + X"); } Debug (no keyUp não fica entrando zilhões de entradas): //sendo que o 17 é código do ctrl e 88 o do x: 17 true 88 true CTRL + X Ali no if consegui pegar a ação do CTRL + X, talvez possa te ajudar. Lista dos codes: http://people.uncw.edu/tompkinsj/112/FlashActionScript/keyCodes.htm On 19 dez, 12:54, J.C.Ködel <jcko...@gmail.com> wrote: > Não tem como. > > Há 3 variáveis no evento de teclado: localização da tecla (esquerda, > direita, numpad), código da tecla (somente as teclas de controle, não > existem códigos para as teclas normais) e código ANSI da tecla. > > Quando o Control está pressionado, o código ANSI da tecla vem em branco, > impossibilitando de pegar qual tecla está sendo pressionada juntamente com o > control, nem é disparado outro evento para a outra tecla quando Control está > pressionado, além da estupidez de considerar KeyDown como KeyPress (ou seja, > se você segura Control, ele dispara zilhões de eventos com KeyCode = 17 (que > é o Control), quando na verdade eu estou pedindo um evento apenas quando a > tecla for "abaixada" (DOWN)). > > E, para piorar um pouco, os eventos de teclado estão na parte dos > componentes Flex que não são open source (dentro do Flash). > > O mundo ideal seria o Flex falar... OS ou Navegador, dane-se você, eu vou > processar todas as teclas =) O Chrome parece que faz isso às vezes, porque > quando estou com foco no Flex e pressiono F5, ele não dá refresh. O IE > maldito já pega as teclas pra ele e boa (nem Alt funciona no Flex... o IE já > abre a barra de menu logo de cara). > > Enfim... pra evitar voltar ao velho problema do HTML em comportamentos > diferentes para diferentes navegadores, deixo quieto essa parte... deu pra > contornar o problema, então tá tudo bem =) > > -------------------------------------------------- > From: "RafaelViana" <rfl.vi...@gmail.com> > Sent: Saturday, December 19, 2009 11:57 AM > To: "flexdev" <flexdev@googlegroups.com> > Subject: [flexdev] Re: TextInput & Ctrl+X > > > > > Já fez o teste de apertar CTRL + outra letra que não seja atalho dos > > SO's? > > E ver se consegue escutar esse evento? > > > On 19 dez, 11:44, J.C.Ködel <jcko...@gmail.com> wrote: > >> Não pega... o evento não é disparado. Ele pega o código 17 que é o Ctrl > >> (e > >> fica repetindo, o que não deveria fazer já que não é evento KeyPress e > >> sim > >> KeyDown), mas quando teclo X ele simplesmente dá cut e não dispara os > >> eventos de teclado) > > >> Mas já resolvi o problema de outra forma, obrigado. > > >> -------------------------------------------------- > >> From: "RafaelViana" <rfl.vi...@gmail.com> > >> Sent: Saturday, December 19, 2009 11:41 AM > >> To: "flexdev" <flexdev@googlegroups.com> > >> Subject: [flexdev] Re: TextInput & Ctrl+X > > >> > Para pegar a tecla CTRL + X, seria algo como: > > >> > private function teste(event:KeyboardEvent):void{ > > >> > if(event.ctrlKey && event.keyCode == codigo da tecla x) > >> > .... > > >> > } > > >> > Mas.... > > >> > "CTRL+X is a command you can't override. CTRL+X in most OS's (all the > >> > ones supported by Flash at least) is the default shortcut for 'cut'. > >> > You can't override that call at all." > > >> > Retirado de:http://www.actionscript.org/forums/showthread.php3?t=214879 > > >> > On 19 dez, 10:19, J.C.Ködel <jcko...@gmail.com> wrote: > >> >> Estou desenvolvendo um componente de MaskedTextInput (aliás, > >> >> aprimorando > >> >> o q a Adobe fez), mas estou com um problema que não estou conseguindo > >> >> solucionar: > > >> >>http://www.kodelsolutions.com/Sandbox.swf > > >> >> No exemplo acima, experimente digitar algo, selecionar uma parte (ou > >> >> tudo) e teclar Ctrl+X. > > >> >> O problema é que eu não consigo capturar quando o usuário tecla Ctrl+X > >> >> (Cut to Clipboard). O componente requer algumas ações especiais quando > >> >> algum caractere é deletado, e o Ctrl+X exclui caracteres e não me > >> >> informa > >> >> de uma forma fácil de pegar =\ > > >> >> Então a pergunta é: alguém já fez alguma forma de bloquear totalmente > >> >> a > >> >> função Cut ou conseguiu pegar a seqüência de teclas Ctrl+X no evento > >> >> KeyDown? > > >> >> -------------------------------------------------------------------------------- > >> >> J.C.Ködel - Programador Microsoft.net/Adobe Flex > >> >> TDS-Enterprise -http://www.tds-enterprise.com > > >> >> smime.p7s > >> >> 6KExibirDownload > > >> > -- > >> > Você recebeu esta mensagem porque está inscrito na lista "flexdev" > >> > Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com > >> > Para sair da lista, envie um email em branco para > >> > flexdev-unsubscr...@googlegroups.com > >> > Mais opções estão disponíveis emhttp://groups.google.com/group/flexdev > > >> smime.p7s > >> 6KExibirDownload > > > -- > > Você recebeu esta mensagem porque está inscrito na lista "flexdev" > > Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com > > Para sair da lista, envie um email em branco para > > flexdev-unsubscr...@googlegroups.com > > Mais opções estão disponíveis emhttp://groups.google.com/group/flexdev > > > > smime.p7s > 6KExibirDownload -- Você recebeu esta mensagem porque está inscrito na lista "flexdev" Para enviar uma mensagem, envie um e-mail para flexdev@googlegroups.com Para sair da lista, envie um email em branco para flexdev-unsubscr...@googlegroups.com Mais opções estão disponíveis em http://groups.google.com/group/flexdev