Move java source files to gradle project layout and delete obsolete files
This commit is contained in:
@@ -0,0 +1,175 @@
|
||||
//**********************************************************************************************
|
||||
// (C) Copyright 2002 by Dipl. Phys. Joerg Plewe, HARDCODE Development
|
||||
// All rights reserved. Copying, modification,
|
||||
// distribution or publication without the prior written
|
||||
// consent of the author is prohibited.
|
||||
//
|
||||
// Created on 9. April 2002, 22:40
|
||||
//**********************************************************************************************
|
||||
package de.hardcode.jxinput.keyboard;
|
||||
|
||||
|
||||
import de.hardcode.jxinput.*;
|
||||
import java.awt.Component;
|
||||
|
||||
|
||||
/**
|
||||
* Virtual input device treating a AWT keyboard as a source for Buttons.
|
||||
*
|
||||
* @author Herkules
|
||||
*/
|
||||
public class JXKeyboardInputDevice
|
||||
implements JXInputDevice
|
||||
{
|
||||
private static final String DEVICENAME = "Swing Keyboard";
|
||||
|
||||
/** The driver doing all the real work. */
|
||||
private final KeyboardDriver mDriver = new KeyboardDriver();
|
||||
|
||||
/** The Component I am listening to. */
|
||||
private Component mComponent = null;
|
||||
|
||||
/** Hold the biggest keycode for which a button has been created. */
|
||||
private int mMaxIdxCreated = 0;
|
||||
|
||||
|
||||
/**
|
||||
* Creates a new instance of JXKeyboardInputDevice.
|
||||
*/
|
||||
public JXKeyboardInputDevice()
|
||||
{
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Creates a new instance of JXKeyboardInputDevice
|
||||
* immediately listening to a JComponent.
|
||||
*/
|
||||
public JXKeyboardInputDevice( Component comp )
|
||||
{
|
||||
listenTo( comp );
|
||||
}
|
||||
|
||||
/**
|
||||
* Makes this device listen to a certain JComponent.
|
||||
*/
|
||||
public final void listenTo( Component comp )
|
||||
{
|
||||
shutdown();
|
||||
mComponent = comp;
|
||||
mComponent.addKeyListener( mDriver );
|
||||
}
|
||||
|
||||
/**
|
||||
* Shut down. No longer listen to my JComponent.
|
||||
*/
|
||||
public final void shutdown()
|
||||
{
|
||||
if ( null != mComponent )
|
||||
mComponent.removeKeyListener( mDriver );
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Create a button object for a certain keycode.
|
||||
*/
|
||||
public Button createButton( int keycode )
|
||||
{
|
||||
if ( 0 > keycode || 0x100 < keycode )
|
||||
throw new InvalidKeyCodeException();
|
||||
|
||||
KeyButton b;
|
||||
if ( null == (b = mDriver.getButton( keycode ) ) )
|
||||
{
|
||||
b = new KeyButton( keycode );
|
||||
mDriver.registerKeyButton( b );
|
||||
if ( keycode > mMaxIdxCreated )
|
||||
mMaxIdxCreated = keycode;
|
||||
}
|
||||
return b;
|
||||
}
|
||||
|
||||
|
||||
public void removeButton( Button b )
|
||||
{
|
||||
mDriver.unregisterKeyButton( (KeyButton) b );
|
||||
}
|
||||
|
||||
|
||||
|
||||
//*********************************************************************************************
|
||||
//
|
||||
// Implement JXInputDevice
|
||||
//
|
||||
//*********************************************************************************************
|
||||
|
||||
public Axis getAxis(int idx)
|
||||
{
|
||||
// No axes on keyboard.
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
public Button getButton(int idx)
|
||||
{
|
||||
// idx is interpreted as the keycode
|
||||
return mDriver.getButton( idx );
|
||||
}
|
||||
|
||||
public Directional getDirectional(int idx)
|
||||
{
|
||||
// No directionals on keyboard.
|
||||
return null;
|
||||
}
|
||||
|
||||
/** Maximum number of axes as an upper bound for index values. */
|
||||
public int getMaxNumberOfAxes()
|
||||
{
|
||||
// No axes on keyboard.
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** Maximum number of buttons as an upper bound for index values. */
|
||||
public int getMaxNumberOfButtons()
|
||||
{
|
||||
// Return biggest keycode (inclusive).
|
||||
return mMaxIdxCreated + 1;
|
||||
}
|
||||
|
||||
/** Maximum number of directional features as an upper bound for index values. */
|
||||
public int getMaxNumberOfDirectionals()
|
||||
{
|
||||
// No directionals on keyboard.
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Devices may have a name.
|
||||
* This name might be provided by a system dependant driver.
|
||||
*/
|
||||
public String getName()
|
||||
{
|
||||
return DEVICENAME;
|
||||
}
|
||||
|
||||
/** Actual number of available axes. */
|
||||
public int getNumberOfAxes()
|
||||
{
|
||||
// No axes on keyboard.
|
||||
return 0;
|
||||
}
|
||||
|
||||
/** Actual number of available buttons. */
|
||||
public int getNumberOfButtons()
|
||||
{
|
||||
return mDriver.getNumberOfButtons();
|
||||
}
|
||||
|
||||
/** Actual number of available directional features. */
|
||||
public int getNumberOfDirectionals()
|
||||
{
|
||||
// No directionals on keyboard.
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user