Só lembrando que determinadas teclas e/ou conjunto de teclas não 
estão disponíveis para o FlashPlayer, logo não são utilizáveis (como em 
um programa Delphi seriam ou provavelmente em um AIR também).
    Um exemplo é a tecla F5, ALT+F4, CTRL+W. Mas existem umas tantas 
outras...  e se não me engano (uns 90% de certeza, se é que certeza 
existe em 90%) isso varia de browser pra browser, mesmo o Flex tentando 
esconder essa briga entre browsers pra gente.

    Então a dica é: antes de escolher as teclas, dê uma testada se ela 
está disponível nos navegadores de seus clientes.

    Ah!  detalhe sórdido...  as teclas disponíveis dependem também dos 
sistemas instalados no computador do usuário. Se um google toolbar, por 
exemplo, estiver instalado, uma combinação de tecla que não me lembro 
qual, fica pra ele e o FlashPlayer não a enxerga mais. Sei lá quais 
teclas o Yahoo toolbar ou o Mininova toolbar usam.

    Isso o marketing da Adobe não fala pra gente.... enfim...

    Queria dar notícias mais alegres  :)


    abraços,
    Luís Eduardo


Daniel Lopes escreveu:
> Obrigado Beck, não tinha me atentado para isso... realmente acho que o
> problema dele vai ser resolvido colocando os listeners no container
> onde está o componente.
> Bem de qualquer forma fica ai o exemplo se alguem procurar por isso no
> grupo.
>
> Abraço.
>
> On 9 abr, 23:51, Beck Novaes <[EMAIL PROTECTED]> wrote:
>   
>> Hm... acho que o problema do nosso amigo é outro. Pelo que eu pude
>> entender ele já esta familiarizado com a API necessária para capturar
>> os eventos do teclado. Suponho que o componente que ele estendeu não
>> esteja funcionando porque ele adicionou o Listener para o botão, assim
>> o evento do teclado só será capturado se o botão tiver o foco. Da
>> mesma forma, no seu exemplo o evento só será capturado se o textInput
>> tiver o foco. Tanto o seu exemplo quanto o dele poderiam ser
>> independentes do componente que tivesse o foco se o Handler estivesse
>> tratando um evento do Application no lugar de um componente
>> específico. No seu exemplo basta remover o substituir
>> "tf.addEventListener(KeyboardEvent.KEY_DOWN,reportKeyDown)" por
>> "addEventListener(KeyboardEvent.KEY_DOWN,reportKeyDown)" ou seja, sem
>> a referência para o textInput. No caso dele, talvez ele tenha que
>> adicionar o listener para o Application.
>>
>> mx.core.Application.application.addEventListener(KeyboardEvent.KEY_DOWN,
>> myHandler);
>>
>> Será que é isso, Sá, que você precisa?
>>
>> []'s
>> Beck Novaes
>>
>> On 9 abr, 23:15, Daniel Lopes <[EMAIL PROTECTED]> wrote:
>>
>>     
>>> Ai está o exemplo que prometi... é só dar uma olhada na classe
>>> flash.ui.Keyboard . Cada tecla tem uma constante e vc pode usar isso
>>> como shortcut, no exemplo se vc aperta SHIFT ele muda a cor do
>>> componente e se apertar ctrl muda de cor de novo.
>>>       
>>> <?xml version="1.0" encoding="utf-8"?>
>>> <mx:Application
>>>         xmlns:mx="http://www.adobe.com/2006/mxml";
>>>         layout="absolute"
>>>         creationComplete="initApp()">
>>>       
>>>         <mx:Script>
>>>         <![CDATA[
>>>                 import flash.ui.Keyboard;
>>>       
>>>                 public function initApp():void{
>>>                         
>>> tf.addEventListener(KeyboardEvent.KEY_DOWN,reportKeyDown);
>>>                 }
>>>       
>>>                 public function reportKeyDown(event:KeyboardEvent):void
>>>                 {
>>>                     trace("Tecla apertada: " + 
>>> String.fromCharCode(event.charCode) +
>>> "(codigo:" + event.keyCode + " character code: " + event.charCode +
>>> ")");
>>>                     if (event.keyCode == Keyboard.CONTROL)
>>>                         tf.setStyle('backgroundColor',0xFFFF00);
>>>                     else if (event.keyCode == Keyboard.SHIFT)
>>>                         tf.setStyle('backgroundColor',0xFF0000);
>>>                 }
>>>       
>>>         ]]>
>>>         </mx:Script>
>>>       
>>>         <mx:TextInput id="tf" />
>>>       
>>> </mx:Application>
>>>       
>>> On 9 abr, 21:55, Daniel Lopes <[EMAIL PROTECTED]> wrote:
>>>       
>>>> cara... tem um tanto de coisa nesse código que não precisa e mudou
>>>> para o Flex 3...
>>>> Vou fazer um exemplo e posto aqui daqui a pouco
>>>>         
>>>> On 9 abr, 19:49, Sá <[EMAIL PROTECTED]> wrote:
>>>>         
>>>>> Pessoal, meu cliente pediu para que ao clicar certas teclas executar o
>>>>> click de determinados botões...
>>>>> Eu trabalho full-time com Flex e ActionScript há menos de 10 dias, e
>>>>> sou auto-didata, ou seja, pouca experiência e sem nenhum curso sobre o
>>>>> assunto...
>>>>>           
>>>>> Mas até que a coisa tá indo...
>>>>>           
>>>>> Então, resolvi criar um classe estendendo o Button, criar um set
>>>>> shortKey nessa classe, adicionar um addEventListener do KeyDown e
>>>>> intercepta-lo executando o click do botão caso o cidadão tenha
>>>>> pressionado a tecla informada na propriedade shortKey... Mas acontece
>>>>> que o KeyDown não é interceptado...
>>>>>           
>>>>> Eu queria saber se já existe a implementação de algo desse tipo, botão
>>>>> com tecla de atalho, e se não houver, alguem se dispõe a me ajudar a
>>>>> fazer isso? Pelo menos digam ai se eu estou no caminho certo, com o
>>>>> raciocino e lógica certa...
>>>>>           
>>>>> Pretendo disponibilizar esse controle para download no nosso blog,
>>>>> será open-source ;)
>>>>>           
>>>>> Abraço e obrigado desde já!
>>>>>           
>>>>> Marcus Sáhttp://www.maxup.com.brhttp://www.maxup.com.br/blog
>>>>>           
> >
>
>   


--~--~---------~--~----~------------~-------~--~----~
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 [EMAIL PROTECTED]
Mais opções estão disponíveis em http://groups.google.com/group/flexdev
-~----------~----~----~----~------~----~------~--~---

Responder a