Re: [Flashcoders] How do real developers do key handling?

2006-06-07 Thread Ian Thomas

You don't need any special hash class for this; since you're using
string keys, you can simply use the Object class, like so:

class ChannelInput {
private handlerMap:Object = null;

function ChannelInput() {
  handlerMap = new Object();
}

public function addKey(key:String, handler:KeyHandler):Void {
  handlerMap[key]=handler;
}

public function processKey(key:String):Void {
  var handler:KeyHandler  = KeyHandler(handlerMap[key]);

  if (handler == undefined) {
trace(ERROR: undefined handler for key \ + key + \);
  } else {
handler.handleKey(key);
  }
}

HTH,
 Ian

On 6/7/06, Bart Wttewaall [EMAIL PROTECTED] wrote:

The open-source Vegas framework at osflash.org makes use of a hashmap.
Since every Object extends of CoreObject, a hashcode is added to every
object. A nice solution, I think.

static private var _initHashCode:Boolean =
HashCode.initialize(CoreObject.prototype) ;

2006/6/7, Kevin Aebig [EMAIL PROTECTED]:
 Well the code that your friend is suggesting is pretty straightforward and
 you could port it over to AS2 if you wanted. Instead of a hashMap, why not
 just use an associative array? I'm pretty sure that I've seen a hash class
 ripping around from either Brandan Hall or Samuel Wan based off of an
 associative array.

 All in all, the code could be ported over with minimal effort... but there
 would be some area's that you would need to be creative with.

 Cheers,

 Kevin

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of black59mga
 Sent: June 6, 2006 4:09 PM
 To: Flashcoders mailing list
 Subject: RE: [Flashcoders] How do real developers do key handling?

 I have 10 apps that will controlled with a TV remote control (no mouse).
 There are only 12 keys on the remote, so the app that has focus will will
 have to do very different things with a given key press, depending on
 context.

 A java dev. friend suggested an approach using a hashMap, but we don't have
 hashMap in AS 2.0. And I'm a bit confused by his sample code:

 public class ChannelInputTest {
   public static void main(String argv[]) {

 // Create a new ChannelInput object and add a few keys to its map
 ChannelInput ci1 = new ChannelInput();
 ci1.addKey(1, new SimpleKeyHandler());
 ci1.addKey(2, new AnotherSimpleKeyHandler());

 // Now handle some keys with this puppy
 ci1.processKey(1);
 ci1.processKey(2);

 // Create a SECOND ChannelInput object, and add some different
 keys/handlers
 ChannelInput ci2 = new ChannelInput();
 ci2.addKey(3, new AnotherSimpleKeyHandler());
 ci2.addKey(4, new SimpleKeyHandler());

 ci2.processKey(3);
 ci2.processKey(4);

 // Finally - should get an error if a ChannelInput gets unmapped key
 ci2.processKey(1);
   }
 }

 import java.util.HashMap;

 public class ChannelInput {
   private HashMap handlerMap = null;

   ChannelInput() {
 handlerMap = new HashMap();
   }

   public void addKey(String key, KeyHandler handler) {
 handlerMap.put(key, handler);
   }

   public void processKey(String key) {
 KeyHandler handler = (KeyHandler) handlerMap.get(key);

 if (handler == null) {
   System.out.println(ERROR: null handler for key \ + key + \);
 } else {
   handler.handleKey(key);
 }
   }

 public class SimpleKeyHandler implements KeyHandler {
   public void handleKey(String key) {
 System.out.println(SimpleKeyHandler Key  + key +  was pressed);
 // Action for this key goes here
   }
 }

 interface KeyHandler {
   public void handleKey(String key);
 }

 
 Kevin Aebig [EMAIL PROTECTED] wrote: Perhaps if you told us what you're
 trying to accomplish, we could offer
 suggestions around it, but as far as catching specific keys, I'm pretty sure
 you're doing it the only way possible.

 !k

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of black59mga
 Sent: June 6, 2006 3:01 PM
 To: flash Coders
 Subject: [Flashcoders] How do real developers do key handling?

 How do real actionscript developers do key handling? If you have several
 (like 10) apps that are loaded into MCs in 'Main.swf'... What's a good way
 to code the key handling?  Right now I'm drowning in multiple key.GetCode()
 switch statements that all live in my 'Main.as'. How do smart people do
 this??

 Any suggestions, sample code, links to tutes etc., very greatly appreciated.

 -mga




 -
 Sneak preview the  all-new Yahoo.com. It's not radically different. Just
 radically better.
 ___
 Flashcoders@chattyfig.figleaf.com
 To change your subscription options or search the archive:
 http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

 Brought to you by Fig Leaf Software
 Premier Authorized Adobe Consulting and Training
 http://www.figleaf.com
 http://training.figleaf.com


 ___
 Flashcoders@chattyfig.figleaf.com
 To change your

Re: [Flashcoders] How do real developers do key handling?

2006-06-07 Thread black59mga
Ian, 

That does help, (alot actually). I'm still an oo newb so, I really appreicate 
the help and the simple-approach sample code. I wasn't sure how to deal with 
the lack of hashMap.

Thanks everyone for help with this, I greatly appreciate it. I'll take a stab 
at converting the java to AS 2.0... and may be back with more noob questions on 
the conversion.

mga

Ian Thomas [EMAIL PROTECTED] wrote: You don't need any special hash class for 
this; since you're using
string keys, you can simply use the Object class, like so:

class ChannelInput {
 private handlerMap:Object = null;

 function ChannelInput() {
   handlerMap = new Object();
 }

 public function addKey(key:String, handler:KeyHandler):Void {
   handlerMap[key]=handler;
 }

 public function processKey(key:String):Void {
   var handler:KeyHandler  = KeyHandler(handlerMap[key]);

   if (handler == undefined) {
 trace(ERROR: undefined handler for key \ + key + \);
   } else {
 handler.handleKey(key);
   }
 }

HTH,
  Ian

On 6/7/06, Bart Wttewaall  wrote:
 The open-source Vegas framework at osflash.org makes use of a hashmap.
 Since every Object extends of CoreObject, a hashcode is added to every
 object. A nice solution, I think.

 static private var _initHashCode:Boolean =
 HashCode.initialize(CoreObject.prototype) ;

 2006/6/7, Kevin Aebig :
  Well the code that your friend is suggesting is pretty straightforward and
  you could port it over to AS2 if you wanted. Instead of a hashMap, why not
  just use an associative array? I'm pretty sure that I've seen a hash class
  ripping around from either Brandan Hall or Samuel Wan based off of an
  associative array.
 
  All in all, the code could be ported over with minimal effort... but there
  would be some area's that you would need to be creative with.
 
  Cheers,
 
  Kevin
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] On Behalf Of black59mga
  Sent: June 6, 2006 4:09 PM
  To: Flashcoders mailing list
  Subject: RE: [Flashcoders] How do real developers do key handling?
 
  I have 10 apps that will controlled with a TV remote control (no mouse).
  There are only 12 keys on the remote, so the app that has focus will will
  have to do very different things with a given key press, depending on
  context.
 
  A java dev. friend suggested an approach using a hashMap, but we don't have
  hashMap in AS 2.0. And I'm a bit confused by his sample code:
 
  public class ChannelInputTest {
public static void main(String argv[]) {
 
  // Create a new ChannelInput object and add a few keys to its map
  ChannelInput ci1 = new ChannelInput();
  ci1.addKey(1, new SimpleKeyHandler());
  ci1.addKey(2, new AnotherSimpleKeyHandler());
 
  // Now handle some keys with this puppy
  ci1.processKey(1);
  ci1.processKey(2);
 
  // Create a SECOND ChannelInput object, and add some different
  keys/handlers
  ChannelInput ci2 = new ChannelInput();
  ci2.addKey(3, new AnotherSimpleKeyHandler());
  ci2.addKey(4, new SimpleKeyHandler());
 
  ci2.processKey(3);
  ci2.processKey(4);
 
  // Finally - should get an error if a ChannelInput gets unmapped key
  ci2.processKey(1);
}
  }
 
  import java.util.HashMap;
 
  public class ChannelInput {
private HashMap handlerMap = null;
 
ChannelInput() {
  handlerMap = new HashMap();
}
 
public void addKey(String key, KeyHandler handler) {
  handlerMap.put(key, handler);
}
 
public void processKey(String key) {
  KeyHandler handler = (KeyHandler) handlerMap.get(key);
 
  if (handler == null) {
System.out.println(ERROR: null handler for key \ + key + \);
  } else {
handler.handleKey(key);
  }
}
 
  public class SimpleKeyHandler implements KeyHandler {
public void handleKey(String key) {
  System.out.println(SimpleKeyHandler Key  + key +  was pressed);
  // Action for this key goes here
}
  }
 
  interface KeyHandler {
public void handleKey(String key);
  }
 
  
  Kevin Aebig  wrote: Perhaps if you told us what you're
  trying to accomplish, we could offer
  suggestions around it, but as far as catching specific keys, I'm pretty sure
  you're doing it the only way possible.
 
  !k
 
  -Original Message-
  From: [EMAIL PROTECTED]
  [mailto:[EMAIL PROTECTED] On Behalf Of black59mga
  Sent: June 6, 2006 3:01 PM
  To: flash Coders
  Subject: [Flashcoders] How do real developers do key handling?
 
  How do real actionscript developers do key handling? If you have several
  (like 10) apps that are loaded into MCs in 'Main.swf'... What's a good way
  to code the key handling?  Right now I'm drowning in multiple key.GetCode()
  switch statements that all live in my 'Main.as'. How do smart people do
  this??
 
  Any suggestions, sample code, links to tutes etc., very greatly appreciated.
 
  -mga



 __
Do You Yahoo!?
Tired of spam?  Yahoo! Mail

RE: [Flashcoders] How do real developers do key handling?

2006-06-06 Thread Kevin Aebig
Perhaps if you told us what you're trying to accomplish, we could offer
suggestions around it, but as far as catching specific keys, I'm pretty sure
you're doing it the only way possible.

!k

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of black59mga
Sent: June 6, 2006 3:01 PM
To: flash Coders
Subject: [Flashcoders] How do real developers do key handling?

How do real actionscript developers do key handling? If you have several
(like 10) apps that are loaded into MCs in 'Main.swf'... What's a good way
to code the key handling?  Right now I'm drowning in multiple key.GetCode()
switch statements that all live in my 'Main.as'. How do smart people do
this??

Any suggestions, sample code, links to tutes etc., very greatly appreciated.

-mga 


-
How low will we go? Check out Yahoo! Messenger's low  PC-to-Phone call
rates.
___
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com


___
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com


RE: [Flashcoders] How do real developers do key handling?

2006-06-06 Thread black59mga
I have 10 apps that will controlled with a TV remote control (no mouse). There 
are only 12 keys on the remote, so the app that has focus will will have to do 
very different things with a given key press, depending on context. 

A java dev. friend suggested an approach using a hashMap, but we don't have 
hashMap in AS 2.0. And I'm a bit confused by his sample code:

public class ChannelInputTest {
  public static void main(String argv[]) {

// Create a new ChannelInput object and add a few keys to its map
ChannelInput ci1 = new ChannelInput();
ci1.addKey(1, new SimpleKeyHandler());
ci1.addKey(2, new AnotherSimpleKeyHandler());

// Now handle some keys with this puppy
ci1.processKey(1);
ci1.processKey(2);

// Create a SECOND ChannelInput object, and add some different keys/handlers
ChannelInput ci2 = new ChannelInput();
ci2.addKey(3, new AnotherSimpleKeyHandler());
ci2.addKey(4, new SimpleKeyHandler());

ci2.processKey(3);
ci2.processKey(4);

// Finally - should get an error if a ChannelInput gets unmapped key
ci2.processKey(1);
  }
}

import java.util.HashMap;

public class ChannelInput {
  private HashMap handlerMap = null;

  ChannelInput() {
handlerMap = new HashMap();
  }

  public void addKey(String key, KeyHandler handler) {
handlerMap.put(key, handler);
  }

  public void processKey(String key) {
KeyHandler handler = (KeyHandler) handlerMap.get(key);

if (handler == null) {
  System.out.println(ERROR: null handler for key \ + key + \);
} else {
  handler.handleKey(key);
}
  }

public class SimpleKeyHandler implements KeyHandler {
  public void handleKey(String key) {
System.out.println(SimpleKeyHandler Key  + key +  was pressed);
// Action for this key goes here
  }
}

interface KeyHandler {
  public void handleKey(String key);
}


Kevin Aebig [EMAIL PROTECTED] wrote: Perhaps if you told us what you're 
trying to accomplish, we could offer
suggestions around it, but as far as catching specific keys, I'm pretty sure
you're doing it the only way possible.

!k

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of black59mga
Sent: June 6, 2006 3:01 PM
To: flash Coders
Subject: [Flashcoders] How do real developers do key handling?

How do real actionscript developers do key handling? If you have several
(like 10) apps that are loaded into MCs in 'Main.swf'... What's a good way
to code the key handling?  Right now I'm drowning in multiple key.GetCode()
switch statements that all live in my 'Main.as'. How do smart people do
this??

Any suggestions, sample code, links to tutes etc., very greatly appreciated.

-mga 




-
Sneak preview the  all-new Yahoo.com. It's not radically different. Just 
radically better. 
___
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com


RE: [Flashcoders] How do real developers do key handling?

2006-06-06 Thread Kevin Aebig
Well the code that your friend is suggesting is pretty straightforward and
you could port it over to AS2 if you wanted. Instead of a hashMap, why not
just use an associative array? I'm pretty sure that I've seen a hash class
ripping around from either Brandan Hall or Samuel Wan based off of an
associative array.

All in all, the code could be ported over with minimal effort... but there
would be some area's that you would need to be creative with.

Cheers,

Kevin

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of black59mga
Sent: June 6, 2006 4:09 PM
To: Flashcoders mailing list
Subject: RE: [Flashcoders] How do real developers do key handling?

I have 10 apps that will controlled with a TV remote control (no mouse).
There are only 12 keys on the remote, so the app that has focus will will
have to do very different things with a given key press, depending on
context. 

A java dev. friend suggested an approach using a hashMap, but we don't have
hashMap in AS 2.0. And I'm a bit confused by his sample code:

public class ChannelInputTest {
  public static void main(String argv[]) {

// Create a new ChannelInput object and add a few keys to its map
ChannelInput ci1 = new ChannelInput();
ci1.addKey(1, new SimpleKeyHandler());
ci1.addKey(2, new AnotherSimpleKeyHandler());

// Now handle some keys with this puppy
ci1.processKey(1);
ci1.processKey(2);

// Create a SECOND ChannelInput object, and add some different
keys/handlers
ChannelInput ci2 = new ChannelInput();
ci2.addKey(3, new AnotherSimpleKeyHandler());
ci2.addKey(4, new SimpleKeyHandler());

ci2.processKey(3);
ci2.processKey(4);

// Finally - should get an error if a ChannelInput gets unmapped key
ci2.processKey(1);
  }
}

import java.util.HashMap;

public class ChannelInput {
  private HashMap handlerMap = null;

  ChannelInput() {
handlerMap = new HashMap();
  }

  public void addKey(String key, KeyHandler handler) {
handlerMap.put(key, handler);
  }

  public void processKey(String key) {
KeyHandler handler = (KeyHandler) handlerMap.get(key);

if (handler == null) {
  System.out.println(ERROR: null handler for key \ + key + \);
} else {
  handler.handleKey(key);
}
  }

public class SimpleKeyHandler implements KeyHandler {
  public void handleKey(String key) {
System.out.println(SimpleKeyHandler Key  + key +  was pressed);
// Action for this key goes here
  }
}

interface KeyHandler {
  public void handleKey(String key);
}


Kevin Aebig [EMAIL PROTECTED] wrote: Perhaps if you told us what you're
trying to accomplish, we could offer
suggestions around it, but as far as catching specific keys, I'm pretty sure
you're doing it the only way possible.

!k

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of black59mga
Sent: June 6, 2006 3:01 PM
To: flash Coders
Subject: [Flashcoders] How do real developers do key handling?

How do real actionscript developers do key handling? If you have several
(like 10) apps that are loaded into MCs in 'Main.swf'... What's a good way
to code the key handling?  Right now I'm drowning in multiple key.GetCode()
switch statements that all live in my 'Main.as'. How do smart people do
this??

Any suggestions, sample code, links to tutes etc., very greatly appreciated.

-mga 




-
Sneak preview the  all-new Yahoo.com. It's not radically different. Just
radically better. 
___
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com


___
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com


Re: [Flashcoders] How do real developers do key handling?

2006-06-06 Thread Bart Wttewaall

The open-source Vegas framework at osflash.org makes use of a hashmap.
Since every Object extends of CoreObject, a hashcode is added to every
object. A nice solution, I think.

static private var _initHashCode:Boolean =
HashCode.initialize(CoreObject.prototype) ;

2006/6/7, Kevin Aebig [EMAIL PROTECTED]:

Well the code that your friend is suggesting is pretty straightforward and
you could port it over to AS2 if you wanted. Instead of a hashMap, why not
just use an associative array? I'm pretty sure that I've seen a hash class
ripping around from either Brandan Hall or Samuel Wan based off of an
associative array.

All in all, the code could be ported over with minimal effort... but there
would be some area's that you would need to be creative with.

Cheers,

Kevin

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of black59mga
Sent: June 6, 2006 4:09 PM
To: Flashcoders mailing list
Subject: RE: [Flashcoders] How do real developers do key handling?

I have 10 apps that will controlled with a TV remote control (no mouse).
There are only 12 keys on the remote, so the app that has focus will will
have to do very different things with a given key press, depending on
context.

A java dev. friend suggested an approach using a hashMap, but we don't have
hashMap in AS 2.0. And I'm a bit confused by his sample code:

public class ChannelInputTest {
  public static void main(String argv[]) {

// Create a new ChannelInput object and add a few keys to its map
ChannelInput ci1 = new ChannelInput();
ci1.addKey(1, new SimpleKeyHandler());
ci1.addKey(2, new AnotherSimpleKeyHandler());

// Now handle some keys with this puppy
ci1.processKey(1);
ci1.processKey(2);

// Create a SECOND ChannelInput object, and add some different
keys/handlers
ChannelInput ci2 = new ChannelInput();
ci2.addKey(3, new AnotherSimpleKeyHandler());
ci2.addKey(4, new SimpleKeyHandler());

ci2.processKey(3);
ci2.processKey(4);

// Finally - should get an error if a ChannelInput gets unmapped key
ci2.processKey(1);
  }
}

import java.util.HashMap;

public class ChannelInput {
  private HashMap handlerMap = null;

  ChannelInput() {
handlerMap = new HashMap();
  }

  public void addKey(String key, KeyHandler handler) {
handlerMap.put(key, handler);
  }

  public void processKey(String key) {
KeyHandler handler = (KeyHandler) handlerMap.get(key);

if (handler == null) {
  System.out.println(ERROR: null handler for key \ + key + \);
} else {
  handler.handleKey(key);
}
  }

public class SimpleKeyHandler implements KeyHandler {
  public void handleKey(String key) {
System.out.println(SimpleKeyHandler Key  + key +  was pressed);
// Action for this key goes here
  }
}

interface KeyHandler {
  public void handleKey(String key);
}


Kevin Aebig [EMAIL PROTECTED] wrote: Perhaps if you told us what you're
trying to accomplish, we could offer
suggestions around it, but as far as catching specific keys, I'm pretty sure
you're doing it the only way possible.

!k

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of black59mga
Sent: June 6, 2006 3:01 PM
To: flash Coders
Subject: [Flashcoders] How do real developers do key handling?

How do real actionscript developers do key handling? If you have several
(like 10) apps that are loaded into MCs in 'Main.swf'... What's a good way
to code the key handling?  Right now I'm drowning in multiple key.GetCode()
switch statements that all live in my 'Main.as'. How do smart people do
this??

Any suggestions, sample code, links to tutes etc., very greatly appreciated.

-mga




-
Sneak preview the  all-new Yahoo.com. It's not radically different. Just
radically better.
___
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com


___
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com


___
Flashcoders@chattyfig.figleaf.com
To change your subscription options or search the archive:
http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

Brought to you by Fig Leaf Software
Premier Authorized Adobe Consulting and Training
http://www.figleaf.com
http://training.figleaf.com


Re: [Flashcoders] How do real developers do key handling?

2006-06-06 Thread Scott Hyndman

Not exactly a real hascode though.

In Java for example, two distinct yet identical (in composition)
objects will result in the same hashcode. In Vegas, the hashes will be
different because the number is generated incrementally.

Their map implementation is pretty strange as well and does not lend
itself to a large number of entries. Access would be very slow after
awhile.

Better off to use object instances as maps. Since the example you show
shows that you are mapping with String keys, it should be fine.

Scott

On 6/6/06, Bart Wttewaall [EMAIL PROTECTED] wrote:

The open-source Vegas framework at osflash.org makes use of a hashmap.
Since every Object extends of CoreObject, a hashcode is added to every
object. A nice solution, I think.

static private var _initHashCode:Boolean =
HashCode.initialize(CoreObject.prototype) ;

2006/6/7, Kevin Aebig [EMAIL PROTECTED]:
 Well the code that your friend is suggesting is pretty straightforward and
 you could port it over to AS2 if you wanted. Instead of a hashMap, why not
 just use an associative array? I'm pretty sure that I've seen a hash class
 ripping around from either Brandan Hall or Samuel Wan based off of an
 associative array.

 All in all, the code could be ported over with minimal effort... but there
 would be some area's that you would need to be creative with.

 Cheers,

 Kevin

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of black59mga
 Sent: June 6, 2006 4:09 PM
 To: Flashcoders mailing list
 Subject: RE: [Flashcoders] How do real developers do key handling?

 I have 10 apps that will controlled with a TV remote control (no mouse).
 There are only 12 keys on the remote, so the app that has focus will will
 have to do very different things with a given key press, depending on
 context.

 A java dev. friend suggested an approach using a hashMap, but we don't have
 hashMap in AS 2.0. And I'm a bit confused by his sample code:

 public class ChannelInputTest {
   public static void main(String argv[]) {

 // Create a new ChannelInput object and add a few keys to its map
 ChannelInput ci1 = new ChannelInput();
 ci1.addKey(1, new SimpleKeyHandler());
 ci1.addKey(2, new AnotherSimpleKeyHandler());

 // Now handle some keys with this puppy
 ci1.processKey(1);
 ci1.processKey(2);

 // Create a SECOND ChannelInput object, and add some different
 keys/handlers
 ChannelInput ci2 = new ChannelInput();
 ci2.addKey(3, new AnotherSimpleKeyHandler());
 ci2.addKey(4, new SimpleKeyHandler());

 ci2.processKey(3);
 ci2.processKey(4);

 // Finally - should get an error if a ChannelInput gets unmapped key
 ci2.processKey(1);
   }
 }

 import java.util.HashMap;

 public class ChannelInput {
   private HashMap handlerMap = null;

   ChannelInput() {
 handlerMap = new HashMap();
   }

   public void addKey(String key, KeyHandler handler) {
 handlerMap.put(key, handler);
   }

   public void processKey(String key) {
 KeyHandler handler = (KeyHandler) handlerMap.get(key);

 if (handler == null) {
   System.out.println(ERROR: null handler for key \ + key + \);
 } else {
   handler.handleKey(key);
 }
   }

 public class SimpleKeyHandler implements KeyHandler {
   public void handleKey(String key) {
 System.out.println(SimpleKeyHandler Key  + key +  was pressed);
 // Action for this key goes here
   }
 }

 interface KeyHandler {
   public void handleKey(String key);
 }

 
 Kevin Aebig [EMAIL PROTECTED] wrote: Perhaps if you told us what you're
 trying to accomplish, we could offer
 suggestions around it, but as far as catching specific keys, I'm pretty sure
 you're doing it the only way possible.

 !k

 -Original Message-
 From: [EMAIL PROTECTED]
 [mailto:[EMAIL PROTECTED] On Behalf Of black59mga
 Sent: June 6, 2006 3:01 PM
 To: flash Coders
 Subject: [Flashcoders] How do real developers do key handling?

 How do real actionscript developers do key handling? If you have several
 (like 10) apps that are loaded into MCs in 'Main.swf'... What's a good way
 to code the key handling?  Right now I'm drowning in multiple key.GetCode()
 switch statements that all live in my 'Main.as'. How do smart people do
 this??

 Any suggestions, sample code, links to tutes etc., very greatly appreciated.

 -mga




 -
 Sneak preview the  all-new Yahoo.com. It's not radically different. Just
 radically better.
 ___
 Flashcoders@chattyfig.figleaf.com
 To change your subscription options or search the archive:
 http://chattyfig.figleaf.com/mailman/listinfo/flashcoders

 Brought to you by Fig Leaf Software
 Premier Authorized Adobe Consulting and Training
 http://www.figleaf.com
 http://training.figleaf.com


 ___
 Flashcoders@chattyfig.figleaf.com
 To change your subscription options or search the archive:
 http