
package stiftUndCo;

import java.awt.*;
import java.applet.*;
import java.awt.event.*;

/**
@author Georg Dick
@version 13.1.99


 */
public class Tastatur implements KeyListener
{
	
	private char aktuellesZeichen = KeyEvent.CHAR_UNDEFINED;

 public Tastatur() {
	 	if ( DasFenster.hauptFenster != null)
		{	
			((Component)(DasFenster.hauptFenster)).addKeyListener(this);
			
		}
		
	 
 } 
 public void init(){;}
 public Tastatur(Component b){
	 b.addKeyListener(this);
 } 

 public void gibFrei()
 {
	
 } 

 public void keyTyped(KeyEvent e)
 {}

 public void keyPressed(KeyEvent e)
 { // Hier gegebenenfalls Puffer aufbauen !
	 aktuellesZeichen= e.getKeyChar();

	 /*if ((aktuellesZeichen==KeyEvent.CHAR_UNDEFINED)
		 && (e.getKeyCode() != KeyEvent.VK_UNDEFINED))
	 {*/	  
		 switch (e.getKeyCode())
		 {
	      case 27:aktuellesZeichen=Zeichen.ESC;break;
	      case KeyEvent.VK_DOWN:aktuellesZeichen=Zeichen.PFEILUNTEN;break;	 
	      case KeyEvent.VK_END: aktuellesZeichen=Zeichen.ENDE	;break;
	      case KeyEvent.VK_F1: aktuellesZeichen=Zeichen.F1	;break;
	      case KeyEvent.VK_F2: aktuellesZeichen=Zeichen.F2	;break;
	      case KeyEvent.VK_F3: aktuellesZeichen=Zeichen.F3	;break;
	      case KeyEvent.VK_F4: aktuellesZeichen=Zeichen.F4	;break;
	      case KeyEvent.VK_F5: aktuellesZeichen=Zeichen.F5	;break;
	      case KeyEvent.VK_F6: aktuellesZeichen=Zeichen.F6	;break;
	      case KeyEvent.VK_F7: aktuellesZeichen=Zeichen.F7	;break;
	      case KeyEvent.VK_F8: aktuellesZeichen=Zeichen.F8	;break;
	      case KeyEvent.VK_F9: aktuellesZeichen=Zeichen.F9	;break;
	      case KeyEvent.VK_F10: aktuellesZeichen=Zeichen.F10	;break;
	      case KeyEvent.VK_F11: aktuellesZeichen=Zeichen.F11	;break;
	      case KeyEvent.VK_F12: aktuellesZeichen=Zeichen.F12	;break;
	      case KeyEvent.VK_HOME:aktuellesZeichen=Zeichen.POS1;break;	
	      case KeyEvent.VK_LEFT:aktuellesZeichen=Zeichen.PFEILLINKS;break;	
	      case KeyEvent.VK_PAGE_DOWN:aktuellesZeichen=Zeichen.BILDUNTEN;break;	
	      case KeyEvent.VK_PAGE_UP:aktuellesZeichen=Zeichen.BILDAUF;break;	
	      case KeyEvent.VK_RIGHT:aktuellesZeichen=Zeichen.PFEILRECHTS;break;	
	      case KeyEvent.VK_UP:aktuellesZeichen=Zeichen.PFEILOBEN;break;
		}
	
 }
 public void keyReleased(KeyEvent e){}

 public boolean wurdeGedrueckt(){
	return aktuellesZeichen != KeyEvent.CHAR_UNDEFINED;
 } 

 public char zeichen() 
 {
	char merke=aktuellesZeichen;
	aktuellesZeichen=KeyEvent.CHAR_UNDEFINED;
	return merke;
 }
	 
}