If you call addEventListener with useCapture=true, the listener will
trap events that don't usually bubble.  I've verified that it works
even when the focus is on a tab bar.

The one issue is that after the application starts *nothing* has focus
- but once you click on anything, even a component that doesn't
normally respond to keyboard events, the centralized listener will
start getting key events.


__
Josh Vanderberg -- http://vanderblog.typepad.com

--- In [email protected], Jeffry Houser <[EMAIL PROTECTED]> wrote:
>
> 
>   Conceptually this sounds good.  However, I would expect this method 
> would be non-intuitive to users.
> 
>   Containers will not broadcast keyboard events on their own, so the 
> user must have have given focus to a component that will broadcast the 
> keyboard events.  I believe there are a lot of situations, such as 
> changing the selectedIndex of a ViewStack or tabbing through a 
> TabNavigator where nothing will be given focus and the bar code scan 
> would be ignored.
> 
> 
> 
> Josh VanderBerg wrote:
> > 
> > 
> > Define a keyDown event handler at the application level. Because of
> > the Flex 2.0 event model, all keydown events, from all controls,
> > should bubble up to the Application. Here is a little application I
> > made to test this. The bottom text area will show all keys typed, no
> > matter the control that has the focus when the key was pressed.
> > 
> > <?xml version="1.0" encoding="utf-8"?>
> > <mx:Application keyDown="keyCapture(event)"
> > xmlns:mx="http://www.adobe.com/2006/mxml 
> > <http://www.adobe.com/2006/mxml>" layout="vertical">
> > 
> > <mx:Script>
> > <![CDATA[
> > private function keyCapture(event: KeyboardEvent) : void {
> > allKeys.text += String.fromCharCode(event.charCode);
> > }
> > ]]>
> > </mx:Script>
> > 
> > <mx:Label text="Text1" />
> > <mx:TextArea id="textArea" height="200" width="200" />
> > <mx:Label text="Text2" />
> > <mx:TextInput id="textInput" />
> > <mx:Label text="Button:" />
> > <mx:Button label="Set Focus here" />
> > 
> > <mx:Label text="Key Capture" />
> > <mx:TextArea selectable="false" id="allKeys" width="400"
height="400" />
> > 
> > </mx:Application>
> > 
> > __
> > Josh Vanderberg -- http://vanderblog.typepad.com 
> > <http://vanderblog.typepad.com>
> > 
> > --- In [email protected]
<mailto:flexcoders%40yahoogroups.com>, 
> > "Chad Gray" <cgray@> wrote:
> >  >
> >  > Hello,
> >  >
> >  > I am just doing research and need some input.
> >  >
> >  > We would like to make an Air/Flex app that when you scan in a
> > barcode you get product details from a database that CF is serving
out.
> >  >
> >  > The barcode scanner works like a key board and at the end of a scan
> > I can have it send a carriage return. I don't want the user to have
> > to put focus on a text input field then scan the barcode to get a
> > result. I want them so that any keyboard entry from the scanner will
> > always pull up product details upon the carriage return.
> >  >
> >  > It does not matter what section of the Appliction they are in. If
> > text entry is present from the barcode scanner then I want to return
> > product details from the database.
> >  >
> >  > Has anyone built an app that works with a barcode reader in
this way?
> >  >
> >  > Any quick code suggestions on capturing the text input from the
> > barcode reader?
> >  >
> >  > Thanks!
> >  >
> > 
> > 
> 
> -- 
> Jeffry Houser, Technical Entrepreneur, Software Developer, Author, 
> Recording Engineer
> AIM: Reboog711  | Phone: 1-203-379-0773
> --
> My Company: <http://www.dot-com-it.com>
> My Podcast: <http://www.theflexshow.com>
> My Blog: <http://www.jeffryhouser.com>
>


Reply via email to