Skip to content

Instantly share code, notes, and snippets.

Created July 8, 2013 11:59
Show Gist options
  • Save anonymous/5948166 to your computer and use it in GitHub Desktop.
Save anonymous/5948166 to your computer and use it in GitHub Desktop.
public class HelloInputStick extends Activity implements USBDeviceListener {
private static final USBKeyboard keyb = new USBKeyboard();
private Button buttonConnect;
private Button buttonType;
public void onUSBData(int endpoint, byte[] data) {
}
public void onUSBEvent(int code) {
manageUI();
}
private void manageUI() {
int state = keyb.getState();
switch (state) {
case USBDevice.STATE_NONE:
buttonConnect.setText(getString(R.string.string_connect));
buttonConnect.setEnabled(true);
enableUI(false);
break;
case USBDevice.STATE_CONNECTING:
buttonConnect.setText(getString(R.string.string_connecting));
buttonConnect.setEnabled(false);
enableUI(false);
break;
case USBDevice.STATE_CONNECTED:
buttonConnect.setText(getString(R.string.string_disconnect));
buttonConnect.setEnabled(true);
enableUI(false);
break;
case USBDevice.STATE_READY:
buttonConnect.setText(getString(R.string.string_disconnect));
buttonConnect.setEnabled(true);
enableUI(true);
break;
}
}
private void enableUI(boolean enabled) {
buttonType.setEnabled(enabled);
}
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_hello_input_stick);
keyb.setContext(this.getApplicationContext());
keyb.registerListener(this);
buttonConnect = (Button) findViewById(R.id.buttonConnect);
buttonConnect.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
switch (keyb.getState()) {
case USBDevice.STATE_NONE:
keyb.connect();
break;
case USBDevice.STATE_CONNECTED:
case USBDevice.STATE_READY:
keyb.disconnect();
break;
}
}
});
buttonType = (Button) findViewById(R.id.buttonType);
buttonType.setOnClickListener(new OnClickListener() {
public void onClick(View arg0) {
keyb.type("Hello world!");
}
});
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment