Use application instead of _root. - Gordon
-----Original Message----- From: Matt Horn [mailto:[EMAIL PROTECTED] Sent: Friday, April 01, 2005 1:30 PM To: [email protected] Subject: RE: [flexcoders] Key class Help Another variation on this is to use addEventListener on the keyUp event of _root. Of course, using "_root" is discouraged, but I haven't been able to figure out an alternative. ---------begin-------------- <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml" initialize="initApp()" height="500" width="300" > <mx:Script><![CDATA[ function debugTrace(msg){ _ta.text+= msg + newline; } function initApp() { _root.addEventListener("keyUp",mx.utils.Delegate.create(this, keyHandler)); } function keyHandler(event) { debugTrace("Key:" + event.code + "(" + event.ascii + ")"); } ]]></mx:Script> <mx:VBox> <mx:TextInput id="my_input" change="debugTrace('TextInput value changed')" /> <mx:TextArea id="_ta" text="" width="200" height="200"/> </mx:VBox> </mx:Application> ------------end--------------- HTH, Matt Horn ________________________________ From: Abdul Qabiz [mailto:[EMAIL PROTECTED] Sent: Friday, April 01, 2005 1:22 AM To: [email protected]; '[email protected]' Subject: RE: [flexcoders] Key class Help Hi Hari, What I understand, you want to assign some keyboard shortcuts to each control on screen so that when shortcut key is pressed, control get focussed? You can easily achieve this using Key object, as demonstrated in code later in this mail. I am assuming, - user would press CTRL + 1, CTRL + 2 ...to focus a control on screen. - user can press SPACE key to execute associated action with the controls like Button, CheckBox, RadioButton or any button kind of component. - user can use arrow keys to change values in list type of controls like ComboBox - user can type in textfield like control.... Following example has some controls on screen and pressing CTRL + 1 .. CTRL + 5 shifts the focus to corresponding control.... I would like to help you my best so that you are successful in creating a very accessible Flex app. Please run it to find out more.. Following code is quick & dirty demo, you can always write a ShortcutManager class which is more easier to use and managable... ###KeyObjectDemo.mxml### <?xml version="1.0" encoding="utf-8"?> <mx:Application xmlns:mx="http://www.macromedia.com/2003/mxml" initialize="initApp()"> <mx:Script> <![CDATA[ var keyListener:Object; function debugTrace(msg) { _ta.text+= msg + newline; } function initApp() { keyListener = new Object(); keyListener.onKeyDown = mx.utils.Delegate.create(this, shorcutHandler); Key.addListener(keyListener); } function shorcutHandler() { var bControlPressed:Boolean = Key.isDown(Key.CONTROL); if(bControlPressed) { //CTRL if(Key.isDown(49)) { // 1 debugTrace("CTRL + 1"); //set focus to textfield my_input.setFocus(); }else if(Key.isDown(50)) { //2 debugTrace("CTRL + 2"); //set focus to button my_btn.setFocus(); // my_btn.dispatchEvent({type:"click"}); }else if(Key.isDown(51)) { //3 debugTrace("CTRL + 3"); my_radio.setFocus(); // my_radio.selected = true; // my_btn.dispatchEvent({type:"change"}); }else if(Key.isDown(52)) { //4 debugTrace("CTRL + 4"); my_check.setFocus(); }else if(Key.isDown(53)) { //5 debugTrace("CTRL + 5"); my_combo.setFocus(); } } } ]]> </mx:Script> <mx:TextInput id="my_input" focusIn="debugTrace('TextInput focussed')" change="debugTrace('TextInput value changed')"/> <mx:Button label="Button" id="my_btn" focusIn="debugTrace('Button focussed')" click="debugTrace('button pressed')"/> <mx:RadioButton label="radio" id="my_radio" focusIn="debugTrace('RadioButton focussed')" click="debugTrace('Radio button selected')"/> <mx:CheckBox label="Checkbox" id="my_check" focusIn="debugTrace('CheckBox focussed')" click="debugTrace('CheckBox change')"/> <mx:ComboBox id="my_combo" focusIn="debugTrace('ComboBox focussed')" change="debugTrace('ComboBox selection changed')"> <mx:dataProvider> <mx:Array> <mx:String>India</mx:String> <mx:String>USA</mx:String> <mx:String>Australia</mx:String> </mx:Array> </mx:dataProvider> </mx:ComboBox> <mx:VBox> <mx:Label text="Debug Info:"/> <mx:TextArea id="_ta" text="" width="200" height="200"/> </mx:VBox> </mx:Application> Hope that helps.. -abdul -----Original Message----- From: Doodi, Hari - BLS CTR [mailto:[EMAIL PROTECTED] Sent: Thursday, March 31, 2005 8:48 PM To: '[email protected]' Subject: [flexcoders] Key class Help Hi list, I need some help/explanation about Key class. Based on the examples mentioned in the live docs as well as in Action Script Language Reference I created the following mxml files. I want to use the Key class to allow the user use key board to access UI Objects, but no success. Any help appreciated. <<Keyboard_2.mxml>> <<Keyboard_0.mxml>> <<Keyboard_1.mxml>> Thanks! Hari Yahoo! Groups Links ________________________________ Yahoo! Groups Links * To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ * To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> * Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service <http://docs.yahoo.com/info/terms/> . Yahoo! Groups Links Yahoo! Groups Links <*> To visit your group on the web, go to: http://groups.yahoo.com/group/flexcoders/ <*> To unsubscribe from this group, send an email to: [EMAIL PROTECTED] <*> Your use of Yahoo! Groups is subject to: http://docs.yahoo.com/info/terms/

