Salve a tutti,
Stò cercando di creare una tastiera a monitor (per dispositivi touchscreen), per il momento ho inserito soltanto 4 tasti per cercare di capire quale fosse l'approccio giusto.
Ho pensato di utilizzare il dispatchEvent per simulare la pressione di un tasto della tastiera quando in realtà premo un componente di tipo button sullo schermo.
La simulazione sembra funzionare (perchè il listener che ho inserito su gli eventi di tipo KEYDOWN mi rileva correttamente la pressione del tasto.. il problema è che non riesco a scivere nulla....
Un grazie anticipato a chi vorrà aiutarmi! Allego il codice.

Ovviamente il tutto dovrebbe funzionare su un applicazione AIR creata con FLASH BUILDER (sdk 3.5)

Luca


Codice PHP:
<?xml version="1.0" encoding="utf-8"?> 
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="300" height="200" initialize="createListener(event);">     
<mx:Button x="10"  y="100" label="A" id="key_A" click="this.dispatchEvent(new KeyboardEvent(KeyboardEvent.KEY_DOWN, true, false,65,65));"/>     
<mx:Button x="58"  y="100" label="B" id="key_B" click="this.dispatchEvent(new KeyboardEvent(KeyboardEvent.KEY_DOWN, true, false,66,66));"/>     
<mx:Button x="106" y="100" label="C" id="key_C" click="this.dispatchEvent(new KeyboardEvent(KeyboardEvent.KEY_DOWN, true, false,67,67));"/>     
<mx:Button x="154" y="100" label="D" id="key_D" click="this.dispatchEvent(new KeyboardEvent(KeyboardEvent.KEY_DOWN, true, false,68,68));"/>     
<mx:TextInput x="10" y="10" width="281" id="TextBox1"/>     
<mx:TextInput x="10" y="33" width="281" id="TextBox2"/>     
<mx:TextInput x="10" y="56" width="281" id="TextBox3"/>     
<mx:Script>         
<![CDATA[             
import flash.events.*;             
import mx.controls.Alert;             
private function createListener(e:Event):void {
                 this.addEventListener(KeyboardEvent.KEY_DOWN, myClickHandler);             
}             
private function myClickHandler(e:KeyboardEvent):void {                 
if (e.keyCode == 65) {                    
                 Alert.show("E' stato premuto il tasto A  ");                 
}                 
if (e.keyCode == 66) {                     
                 Alert.show("E' stato premuto il tasto B  ");                 
}                 
if (e.keyCode == 67) {                      
                 Alert.show("E' stato premuto il tasto C  ");                 
}                 
if (e.keyCode == 68) {                     
                 Alert.show("E' stato premuto il tasto D  ");                 
                 }             
}         
]]>     
</mx:Script>     
</mx:WindowedApplication>