Agora tenta fazer o mesmo no IE =)O meu pelo menos não funciona... fiz um alert com o código que você postou, funciona bem no Chrome e no FireLerdo, mas no IEca não >.<
É como eu disse antes: F5, por exemplo, funciona no IE (e acho que no FF) como Refresh, no Chrome ele não atualiza a página (claro, considerando que o foco esteja com o plug-in do Flex).
Outra coisa que é diferente nos navegadores (e aliás, quem puder me ajudar com isso, agradeço):
Imagine que você tenha um textinput e sete o foco nele. Assim que você abre o projeto no navegador, não adianta digitar porque ele não vai responder (o foco não está no plug-in do Flash). No IE, eu consigo fazer um document.getElementById("{application}").focus() e isso resolve o problema, mas esse hack não funciona no Chrome e no FF =\
Eu gostaria de algo semelhante ao Silverlight: System.Web.Browser.PlugIn.SetFocus()... Isso sempre captura o plug-in do SilverLight e aí consigo dar o foco nele para responder ao teclado assim que o aplicativo inicia.
-------------------------------------------------- From: "RafaelViana" <rfl.vi...@gmail.com> Sent: Saturday, December 19, 2009 1:22 PM To: "flexdev" <flexdev@googlegroups.com> Subject: [flexdev] Re: TextInput & Ctrl+X
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.htmOn 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 atecla 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 vouprocessar todas as teclas =) O Chrome parece que faz isso às vezes, porquequando estou com foco no Flex e pressiono F5, ele não dá refresh. O IEmaldito 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 comportamentosdiferentes para diferentes navegadores, deixo quieto essa parte... deu pracontornar 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.comPara 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
smime.p7s
Description: S/MIME cryptographic signature