1 /*
2  * KeyAdapter.java
3  *
4  * Copyright (C) 2003 Peter Graves
5  *
6  * This program is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * as published by the Free Software Foundation; either version 2
9  * of the License, or (at your option) any later version.
10  *
11  * This program is distributed in the hope that it will be useful,
12  * but WITHOUT ANY WARRANTY; without even the implied warranty of
13  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program; if not, write to the Free Software
18  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
19  */
20 
21 package awt;
22 
23 import org.armedbear.lisp.JHandler;
24 import java.awt.Component;
25 import java.awt.event.KeyEvent;
26 
27 public class KeyAdapter extends java.awt.event.KeyAdapter {
28 
addTo(Component component)29     public static synchronized void addTo(Component component) {
30         component.addKeyListener(new KeyAdapter());
31     }
32 
call(String s, KeyEvent keyevent)33     private void call(String s, KeyEvent keyevent) {
34         int ai[] = {
35             keyevent.getModifiers(),
36 	    keyevent.isActionKey() ? 1 : 0,
37 	    keyevent.getKeyCode()
38         };
39         JHandler.callLisp(s, keyevent.getComponent(), keyevent.paramString(), ai);
40     }
41 
keyPressed(KeyEvent keyevent)42     public void keyPressed(KeyEvent keyevent) {
43         call("KEYPRESSED", keyevent);
44     }
45 
keyReleased(KeyEvent keyevent)46     public void keyReleased(KeyEvent keyevent) {
47         call("KEYRELEASED", keyevent);
48     }
49 
keyTyped(KeyEvent keyevent)50     public void keyTyped(KeyEvent keyevent) {
51         call("KEYTYPED", keyevent);
52     }
53 }
54