@@ -1921,20 +1921,12 @@ private void applyTouchFaceButtonLayout(int layout) {
19211921 configureFaceButton (buttonX , 44 , 44 , Gravity .TOP | Gravity .CENTER_HORIZONTAL , 0 , 0 , 0 , 0 );
19221922 }
19231923
1924- // Controller mappings describe physical button positions (SDL A=south, B=east,
1925- // X=west, Y=north). Nintendo ABXY changes the labels at those positions; it
1926- // must not change which positional SDL input is emitted.
1927- if (layout == TOUCH_FACE_BUTTON_LAYOUT_ABXY ) {
1928- addTouchListener (buttonB , ControllerButtons .BUTTON_A );
1929- addTouchListener (buttonA , ControllerButtons .BUTTON_B );
1930- addTouchListener (buttonY , ControllerButtons .BUTTON_X );
1931- addTouchListener (buttonX , ControllerButtons .BUTTON_Y );
1932- } else {
1933- addTouchListener (buttonA , ControllerButtons .BUTTON_A );
1934- addTouchListener (buttonB , ControllerButtons .BUTTON_B );
1935- addTouchListener (buttonX , ControllerButtons .BUTTON_X );
1936- addTouchListener (buttonY , ControllerButtons .BUTTON_Y );
1937- }
1924+ // Layout selection only moves the buttons. A button displaying a letter must
1925+ // always emit that same logical SDL button, regardless of its screen position.
1926+ addTouchListener (buttonA , ControllerButtons .BUTTON_A );
1927+ addTouchListener (buttonB , ControllerButtons .BUTTON_B );
1928+ addTouchListener (buttonX , ControllerButtons .BUTTON_X );
1929+ addTouchListener (buttonY , ControllerButtons .BUTTON_Y );
19381930 }
19391931
19401932 private void configureFaceButton (Button button , int widthDp , int heightDp , int gravity ,
0 commit comments