From 29d8717a75f5d8aab9da3e93f898c7e9c354c4b1 Mon Sep 17 00:00:00 2001 From: endolf Date: Sat, 9 Mar 2013 12:27:43 +0000 Subject: [PATCH] Add new buttons for linux and the missing start button. Patch supplied by tctimmeh on JGO. http://www.java-gaming.org/topics/updating-linux-stick-button-mappings/28838/view.html --- .../java/net/java/games/input/Component.java | 50 ++++++++++++++++++- .../java/games/input/LinuxNativeTypesMap.java | 49 ++++++++++++++++-- 2 files changed, 95 insertions(+), 4 deletions(-) diff --git a/coreAPI/src/java/net/java/games/input/Component.java b/coreAPI/src/java/net/java/games/input/Component.java index 55de7f9..02fbcd5 100644 --- a/coreAPI/src/java/net/java/games/input/Component.java +++ b/coreAPI/src/java/net/java/games/input/Component.java @@ -444,7 +444,11 @@ public interface Component { /** 'Select' button on a gamepad */ public static final Button SELECT = new Button("Select"); - + + /** 'Start' button on a gamepad + */ + public static final Button START = new Button("Start"); + /** 'Mode' button on a gamepad */ public static final Button MODE = new Button("Mode"); @@ -540,6 +544,50 @@ public interface Component { * Returns the side mouse button. */ public static final Button SIDE = new Button("Side"); + + /** + * Extra, unnamed, buttons + */ + public static final Button EXTRA_1 = new Button("Extra 1"); + public static final Button EXTRA_2 = new Button("Extra 2"); + public static final Button EXTRA_3 = new Button("Extra 3"); + public static final Button EXTRA_4 = new Button("Extra 4"); + public static final Button EXTRA_5 = new Button("Extra 5"); + public static final Button EXTRA_6 = new Button("Extra 6"); + public static final Button EXTRA_7 = new Button("Extra 7"); + public static final Button EXTRA_8 = new Button("Extra 8"); + public static final Button EXTRA_9 = new Button("Extra 9"); + public static final Button EXTRA_10 = new Button("Extra 10"); + public static final Button EXTRA_11 = new Button("Extra 11"); + public static final Button EXTRA_12 = new Button("Extra 12"); + public static final Button EXTRA_13 = new Button("Extra 13"); + public static final Button EXTRA_14 = new Button("Extra 14"); + public static final Button EXTRA_15 = new Button("Extra 15"); + public static final Button EXTRA_16 = new Button("Extra 16"); + public static final Button EXTRA_17 = new Button("Extra 17"); + public static final Button EXTRA_18 = new Button("Extra 18"); + public static final Button EXTRA_19 = new Button("Extra 19"); + public static final Button EXTRA_20 = new Button("Extra 20"); + public static final Button EXTRA_21 = new Button("Extra 21"); + public static final Button EXTRA_22 = new Button("Extra 22"); + public static final Button EXTRA_23 = new Button("Extra 23"); + public static final Button EXTRA_24 = new Button("Extra 24"); + public static final Button EXTRA_25 = new Button("Extra 25"); + public static final Button EXTRA_26 = new Button("Extra 26"); + public static final Button EXTRA_27 = new Button("Extra 27"); + public static final Button EXTRA_28 = new Button("Extra 28"); + public static final Button EXTRA_29 = new Button("Extra 29"); + public static final Button EXTRA_30 = new Button("Extra 30"); + public static final Button EXTRA_31 = new Button("Extra 31"); + public static final Button EXTRA_32 = new Button("Extra 32"); + public static final Button EXTRA_33 = new Button("Extra 33"); + public static final Button EXTRA_34 = new Button("Extra 34"); + public static final Button EXTRA_35 = new Button("Extra 35"); + public static final Button EXTRA_36 = new Button("Extra 36"); + public static final Button EXTRA_37 = new Button("Extra 37"); + public static final Button EXTRA_38 = new Button("Extra 38"); + public static final Button EXTRA_39 = new Button("Extra 39"); + public static final Button EXTRA_40 = new Button("Extra 40"); } /** diff --git a/plugins/linux/src/java/net/java/games/input/LinuxNativeTypesMap.java b/plugins/linux/src/java/net/java/games/input/LinuxNativeTypesMap.java index 664e3e4..21ae47c 100644 --- a/plugins/linux/src/java/net/java/games/input/LinuxNativeTypesMap.java +++ b/plugins/linux/src/java/net/java/games/input/LinuxNativeTypesMap.java @@ -308,10 +308,52 @@ class LinuxNativeTypesMap { buttonIDs[NativeDefinitions.BTN_TL2] = Component.Identifier.Button.LEFT_THUMB2; buttonIDs[NativeDefinitions.BTN_TR2] = Component.Identifier.Button.RIGHT_THUMB2; buttonIDs[NativeDefinitions.BTN_SELECT] = Component.Identifier.Button.SELECT; + buttonIDs[NativeDefinitions.BTN_START] = Component.Identifier.Button.START; buttonIDs[NativeDefinitions.BTN_MODE] = Component.Identifier.Button.MODE; buttonIDs[NativeDefinitions.BTN_THUMBL] = Component.Identifier.Button.LEFT_THUMB3; buttonIDs[NativeDefinitions.BTN_THUMBR] = Component.Identifier.Button.RIGHT_THUMB3; - + + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY1] = Component.Identifier.Button.EXTRA_1; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY2] = Component.Identifier.Button.EXTRA_2; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY3] = Component.Identifier.Button.EXTRA_3; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY4] = Component.Identifier.Button.EXTRA_4; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY5] = Component.Identifier.Button.EXTRA_5; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY6] = Component.Identifier.Button.EXTRA_6; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY7] = Component.Identifier.Button.EXTRA_7; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY8] = Component.Identifier.Button.EXTRA_8; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY9] = Component.Identifier.Button.EXTRA_9; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY10] = Component.Identifier.Button.EXTRA_10; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY11] = Component.Identifier.Button.EXTRA_11; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY12] = Component.Identifier.Button.EXTRA_12; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY13] = Component.Identifier.Button.EXTRA_13; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY14] = Component.Identifier.Button.EXTRA_14; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY15] = Component.Identifier.Button.EXTRA_15; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY16] = Component.Identifier.Button.EXTRA_16; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY17] = Component.Identifier.Button.EXTRA_17; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY18] = Component.Identifier.Button.EXTRA_18; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY19] = Component.Identifier.Button.EXTRA_19; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY20] = Component.Identifier.Button.EXTRA_20; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY21] = Component.Identifier.Button.EXTRA_21; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY22] = Component.Identifier.Button.EXTRA_22; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY23] = Component.Identifier.Button.EXTRA_23; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY24] = Component.Identifier.Button.EXTRA_24; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY25] = Component.Identifier.Button.EXTRA_25; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY26] = Component.Identifier.Button.EXTRA_26; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY27] = Component.Identifier.Button.EXTRA_27; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY28] = Component.Identifier.Button.EXTRA_28; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY29] = Component.Identifier.Button.EXTRA_29; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY30] = Component.Identifier.Button.EXTRA_30; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY31] = Component.Identifier.Button.EXTRA_31; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY32] = Component.Identifier.Button.EXTRA_32; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY33] = Component.Identifier.Button.EXTRA_33; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY34] = Component.Identifier.Button.EXTRA_34; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY35] = Component.Identifier.Button.EXTRA_35; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY36] = Component.Identifier.Button.EXTRA_36; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY37] = Component.Identifier.Button.EXTRA_37; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY38] = Component.Identifier.Button.EXTRA_38; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY39] = Component.Identifier.Button.EXTRA_39; + buttonIDs[NativeDefinitions.BTN_TRIGGER_HAPPY40] = Component.Identifier.Button.EXTRA_40; + // Digitiser buttonIDs[NativeDefinitions.BTN_TOOL_PEN] = Component.Identifier.Button.TOOL_PEN; buttonIDs[NativeDefinitions.BTN_TOOL_RUBBER] = Component.Identifier.Button.TOOL_RUBBER; @@ -388,8 +430,9 @@ class LinuxNativeTypesMap { case NativeDefinitions.BTN_TR : case NativeDefinitions.BTN_TL2 : case NativeDefinitions.BTN_TR2 : - case NativeDefinitions.BTN_SELECT : - case NativeDefinitions.BTN_MODE : + case NativeDefinitions.BTN_SELECT : + case NativeDefinitions.BTN_START : + case NativeDefinitions.BTN_MODE : case NativeDefinitions.BTN_THUMBL : case NativeDefinitions.BTN_THUMBR : return Controller.Type.GAMEPAD;