01: /*
02: * KeyAdapter.java
03: *
04: * Copyright (C) 2003 Peter Graves
05: *
06: * This program is free software; you can redistribute it and/or
07: * modify it under the terms of the GNU General Public License
08: * as published by the Free Software Foundation; either version 2
09: * 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 org.armedbear.lisp.java.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:
29: public static synchronized void addTo(Component component) {
30: component.addKeyListener(new KeyAdapter());
31: }
32:
33: private void call(String s, KeyEvent keyevent) {
34: int ai[] = { keyevent.getModifiers(),
35: keyevent.isActionKey() ? 1 : 0, keyevent.getKeyCode() };
36: JHandler.callLisp(s, keyevent.getComponent(), keyevent
37: .paramString(), ai);
38: }
39:
40: public void keyPressed(KeyEvent keyevent) {
41: call("KEYPRESSED", keyevent);
42: }
43:
44: public void keyReleased(KeyEvent keyevent) {
45: call("KEYRELEASED", keyevent);
46: }
47:
48: public void keyTyped(KeyEvent keyevent) {
49: call("KEYTYPED", keyevent);
50: }
51: }
|