device = new LinuxKeyboard(deviceNumber, name, numButtons, numRelAxes, numAbsAxes);
device = new LinuxKeyboard(new LinuxDevice(deviceNumber, name, numButtons, numRelAxes, numAbsAxes));
    private Controller createDevice(int deviceNumber) {        String name = getDeviceName(deviceNumber);        int numAbsAxes = getNumAbsAxes(deviceNumber);        int numRelAxes = getNumRelAxes(deviceNumber);        int numButtons = getNumButtons(deviceNumber);        Controller device = null;                int mouseCharacteristic = 0;        int keyboardCharacteristic = 0;        int joystickCharacteristic = 0;                // we are going to try and guess what type of controller it is now        if(name.toLowerCase().indexOf("mouse")>=0) {            mouseCharacteristic++;        }        if(name.toLowerCase().indexOf("keyboard")>=0) {            keyboardCharacteristic++;        }        if(name.toLowerCase().indexOf("joystick")>=0) {            joystickCharacteristic++;        }                if(numRelAxes>=2) {            mouseCharacteristic++;        } else {            mouseCharacteristic--;        }        if(numAbsAxes>=2) {            joystickCharacteristic++;        } else {            joystickCharacteristic--;        }        if(numButtons>64) {            keyboardCharacteristic++;        } else {            keyboardCharacteristic--;        }                if((mouseCharacteristic > keyboardCharacteristic) && (mouseCharacteristic > joystickCharacteristic)) {            device = new LinuxMouse(new LinuxDevice(deviceNumber, name, numButtons, numRelAxes, numAbsAxes));        } else if((keyboardCharacteristic > mouseCharacteristic) && (keyboardCharacteristic > joystickCharacteristic)) {            device = new LinuxKeyboard(deviceNumber, name, numButtons, numRelAxes, numAbsAxes);        } else if((joystickCharacteristic > keyboardCharacteristic) && (joystickCharacteristic > mouseCharacteristic)) {            device = new LinuxDevice(deviceNumber, name, numButtons, numRelAxes, numAbsAxes);        } else {            //Dunno what this is, but try it anyway            device = new LinuxDevice(deviceNumber, name, numButtons, numRelAxes, numAbsAxes);        }        return device;    }