public static void saveDeadZones(int joyId) {
    Controller controller = Controllers.getController(joyId);
    DecimalFormat df = new DecimalFormat("#0.00");

    for (int i = 0; i < controller.getAxisCount(); i++) {
      config.setConfigFileSetting(
          "-Deadzones-." + controller.getName(),
          controller.getAxisName(i),
          df.format(controller.getDeadZone(i)));
    }
    config.addComment(
        "-Deadzones-", "Deadzone values here will override values in individual bindings");
    LogHelper.Info("Saved deadzones for " + controller.getName());
  }
Example #2
0
  // Constructor - Creates a Controller object for every controller detected
  public TestControllers(int index) {

    // Get the controller index from the Controllers group
    controller = Controllers.getController(index);
    // Gui LayoutManager
    setLayout(null);

    // Get the number of buttons on the controller
    buttonCount = controller.getButtonCount();
    // Get the number of buttons + the number of hat pads
    itemCount = controller.getButtonCount() + controller.getAxisCount() + 2;
    // Create a Gui Box for every button / hat pad
    values = new JTextField[itemCount];
    names = new JTextField[itemCount];

    for (int i = 0; i < controller.getButtonCount(); i++) {
      names[i] = new JTextField();
      names[i].setEditable(false);
      names[i].setBounds(0, i * 30, 100, 30);
      names[i].setText(controller.getButtonName(i));
      add(names[i]);
      values[i] = new JTextField();
      values[i].setEditable(false);
      values[i].setBounds(100, i * 30, 100, 30);
      add(values[i]);
    }
    for (int i = buttonCount; i < buttonCount + controller.getAxisCount(); i++) {
      names[i] = new JTextField();
      names[i].setEditable(false);
      names[i].setBounds(0, i * 30, 100, 30);
      names[i].setText(controller.getAxisName(i - buttonCount));
      add(names[i]);
      values[i] = new JTextField();
      values[i].setEditable(false);
      values[i].setBounds(100, i * 30, 100, 30);
      add(values[i]);
    }

    int i = itemCount - 2;
    names[i] = new JTextField();
    names[i].setEditable(false);
    names[i].setBounds(0, i * 30, 100, 30);
    names[i].setText("POV X");
    add(names[i]);
    values[i] = new JTextField();
    values[i].setEditable(false);
    values[i].setBounds(100, i * 30, 100, 30);
    add(values[i]);

    i = itemCount - 1;
    names[i] = new JTextField();
    names[i].setEditable(false);
    names[i].setBounds(0, i * 30, 100, 30);
    names[i].setText("POV Y");
    add(names[i]);
    values[i] = new JTextField();
    values[i].setEditable(false);
    values[i].setBounds(100, i * 30, 100, 30);
    add(values[i]);

    total++;

    setPreferredSize(new Dimension(200, 30 * itemCount));
    JFrame frame = new JFrame(controller.getName());
    frame.setContentPane(new JScrollPane(this));
    frame.addWindowListener(
        new WindowAdapter() {
          public void windowClosing(WindowEvent e) {
            total--;
            if (total == 0) {
              System.exit(0);
            }
          }
        });
    frame.setSize(230, 400);
    frame.setLocation(index * 30, index * 30);
    frame.setVisible(true);
  }