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.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

Attachment: smime.p7s
Description: S/MIME cryptographic signature

Responder a