summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGravatar Abandoned Cart2023-06-14 08:54:34 -0400
committerGravatar Abandoned Cart2023-06-14 16:43:24 -0400
commit0e957c2e35fb7547e3fdb04dc9f1afb336e6c9b7 (patch)
tree23b153100905c92177d845f21db40c6362a37fd2
parentandroid: Initialize defaults for each orientations (diff)
downloadyuzu-0e957c2e35fb7547e3fdb04dc9f1afb336e6c9b7.tar.gz
yuzu-0e957c2e35fb7547e3fdb04dc9f1afb336e6c9b7.tar.xz
yuzu-0e957c2e35fb7547e3fdb04dc9f1afb336e6c9b7.zip
android: Move overlays to their own layout
Diffstat (limited to '')
-rw-r--r--src/android/app/src/main/AndroidManifest.xml1
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt13
-rw-r--r--src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlay.kt126
-rw-r--r--src/android/app/src/main/res/layout/fragment_emulation.xml33
-rw-r--r--src/android/app/src/main/res/values/integers.xml52
5 files changed, 117 insertions, 108 deletions
diff --git a/src/android/app/src/main/AndroidManifest.xml b/src/android/app/src/main/AndroidManifest.xml
index e31ad69e2..a6f87fc2e 100644
--- a/src/android/app/src/main/AndroidManifest.xml
+++ b/src/android/app/src/main/AndroidManifest.xml
@@ -53,7 +53,6 @@ SPDX-License-Identifier: GPL-3.0-or-later
53 <activity 53 <activity
54 android:name="org.yuzu.yuzu_emu.activities.EmulationActivity" 54 android:name="org.yuzu.yuzu_emu.activities.EmulationActivity"
55 android:theme="@style/Theme.Yuzu.Main" 55 android:theme="@style/Theme.Yuzu.Main"
56 android:screenOrientation="userLandscape"
57 android:supportsPictureInPicture="true" 56 android:supportsPictureInPicture="true"
58 android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout|uiMode" 57 android:configChanges="orientation|screenSize|smallestScreenSize|screenLayout|uiMode"
59 android:exported="true"> 58 android:exported="true">
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt
index d5725abe7..4b2305892 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/fragments/EmulationFragment.kt
@@ -11,13 +11,11 @@ import android.content.Intent
11import android.content.SharedPreferences 11import android.content.SharedPreferences
12import android.content.pm.ActivityInfo 12import android.content.pm.ActivityInfo
13import android.content.res.Configuration 13import android.content.res.Configuration
14import android.content.res.Resources
15import android.graphics.Color 14import android.graphics.Color
16import android.os.Bundle 15import android.os.Bundle
17import android.os.Handler 16import android.os.Handler
18import android.os.Looper 17import android.os.Looper
19import android.util.Rational 18import android.util.Rational
20import android.util.TypedValue
21import android.view.* 19import android.view.*
22import android.widget.TextView 20import android.widget.TextView
23import androidx.activity.OnBackPressedCallback 21import androidx.activity.OnBackPressedCallback
@@ -29,11 +27,11 @@ import androidx.core.graphics.Insets
29import androidx.core.view.ViewCompat 27import androidx.core.view.ViewCompat
30import androidx.core.view.WindowInsetsCompat 28import androidx.core.view.WindowInsetsCompat
31import androidx.core.view.isVisible 29import androidx.core.view.isVisible
32import androidx.core.view.updatePadding
33import androidx.fragment.app.Fragment 30import androidx.fragment.app.Fragment
34import androidx.lifecycle.Lifecycle 31import androidx.lifecycle.Lifecycle
35import androidx.lifecycle.lifecycleScope 32import androidx.lifecycle.lifecycleScope
36import androidx.lifecycle.repeatOnLifecycle 33import androidx.lifecycle.repeatOnLifecycle
34import androidx.navigation.fragment.navArgs
37import androidx.preference.PreferenceManager 35import androidx.preference.PreferenceManager
38import androidx.window.layout.FoldingFeature 36import androidx.window.layout.FoldingFeature
39import androidx.window.layout.WindowInfoTracker 37import androidx.window.layout.WindowInfoTracker
@@ -328,10 +326,13 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
328 if (it.isSeparating) { 326 if (it.isSeparating) {
329 emulationActivity.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED 327 emulationActivity.requestedOrientation = ActivityInfo.SCREEN_ORIENTATION_UNSPECIFIED
330 if (it.orientation == FoldingFeature.Orientation.HORIZONTAL) { 328 if (it.orientation == FoldingFeature.Orientation.HORIZONTAL) {
329 // Restrict emulation and overlays to the top of the screen
331 binding.emulationContainer.layoutParams.height = it.bounds.top 330 binding.emulationContainer.layoutParams.height = it.bounds.top
332 // Prevent touch regions from being displayed in the hinge 331 binding.overlayContainer.layoutParams.height = it.bounds.top
333 binding.overlayContainer.layoutParams.height = it.bounds.bottom 332 // Restrict input and menu drawer to the bottom of the screen
333 binding.inputContainer.layoutParams.height = it.bounds.bottom
334 binding.inGameMenu.layoutParams.height = it.bounds.bottom 334 binding.inGameMenu.layoutParams.height = it.bounds.bottom
335
335 isInFoldableLayout = true 336 isInFoldableLayout = true
336 binding.surfaceInputOverlay.orientation = InputOverlay.FOLDABLE 337 binding.surfaceInputOverlay.orientation = InputOverlay.FOLDABLE
337 refreshInputOverlay() 338 refreshInputOverlay()
@@ -341,12 +342,14 @@ class EmulationFragment : Fragment(), SurfaceHolder.Callback {
341 } ?: false 342 } ?: false
342 if (!isFolding) { 343 if (!isFolding) {
343 binding.emulationContainer.layoutParams.height = ViewGroup.LayoutParams.MATCH_PARENT 344 binding.emulationContainer.layoutParams.height = ViewGroup.LayoutParams.MATCH_PARENT
345 binding.inputContainer.layoutParams.height = ViewGroup.LayoutParams.MATCH_PARENT
344 binding.overlayContainer.layoutParams.height = ViewGroup.LayoutParams.MATCH_PARENT 346 binding.overlayContainer.layoutParams.height = ViewGroup.LayoutParams.MATCH_PARENT
345 binding.inGameMenu.layoutParams.height = ViewGroup.LayoutParams.MATCH_PARENT 347 binding.inGameMenu.layoutParams.height = ViewGroup.LayoutParams.MATCH_PARENT
346 isInFoldableLayout = false 348 isInFoldableLayout = false
347 updateScreenLayout() 349 updateScreenLayout()
348 } 350 }
349 binding.emulationContainer.requestLayout() 351 binding.emulationContainer.requestLayout()
352 binding.inputContainer.requestLayout()
350 binding.overlayContainer.requestLayout() 353 binding.overlayContainer.requestLayout()
351 binding.inGameMenu.requestLayout() 354 binding.inGameMenu.requestLayout()
352 } 355 }
diff --git a/src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlay.kt b/src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlay.kt
index aeef7731b..d12d08e9f 100644
--- a/src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlay.kt
+++ b/src/android/app/src/main/java/org/yuzu/yuzu_emu/overlay/InputOverlay.kt
@@ -668,136 +668,136 @@ class InputOverlay(context: Context, attrs: AttributeSet?) : SurfaceView(context
668 R.integer.SWITCH_STICK_L_Y_FOLDABLE 668 R.integer.SWITCH_STICK_L_Y_FOLDABLE
669 ) 669 )
670 670
671 private fun getResourceValue(descriptor: String, position: Int) : Float { 671 private fun getResourceValue(orientation: String, position: Int) : Float {
672 return when (descriptor) { 672 return when (orientation) {
673 PORTRAIT -> resources.getInteger(portraitResources[position]).toFloat() / 1000 673 PORTRAIT -> resources.getInteger(portraitResources[position]).toFloat() / 1000
674 FOLDABLE -> resources.getInteger(foldableResources[position]).toFloat() / 1000 674 FOLDABLE -> resources.getInteger(foldableResources[position]).toFloat() / 1000
675 else -> resources.getInteger(landscapeResources[position]).toFloat() / 1000 675 else -> resources.getInteger(landscapeResources[position]).toFloat() / 1000
676 } 676 }
677 } 677 }
678 678
679 private fun defaultOverlayByLayout(descriptor: String) { 679 private fun defaultOverlayByLayout(orientation: String) {
680 // Each value represents the position of the button in relation to the screen size without insets. 680 // Each value represents the position of the button in relation to the screen size without insets.
681 preferences.edit() 681 preferences.edit()
682 .putFloat( 682 .putFloat(
683 ButtonType.BUTTON_A.toString() + "$descriptor-X", 683 ButtonType.BUTTON_A.toString() + "-X$orientation",
684 getResourceValue(descriptor, 0) 684 getResourceValue(orientation, 0)
685 ) 685 )
686 .putFloat( 686 .putFloat(
687 ButtonType.BUTTON_A.toString() + "$descriptor-Y", 687 ButtonType.BUTTON_A.toString() + "-Y$orientation",
688 getResourceValue(descriptor, 1) 688 getResourceValue(orientation, 1)
689 ) 689 )
690 .putFloat( 690 .putFloat(
691 ButtonType.BUTTON_B.toString() + "$descriptor-X", 691 ButtonType.BUTTON_B.toString() + "-X$orientation",
692 getResourceValue(descriptor, 2) 692 getResourceValue(orientation, 2)
693 ) 693 )
694 .putFloat( 694 .putFloat(
695 ButtonType.BUTTON_B.toString() + "$descriptor-Y", 695 ButtonType.BUTTON_B.toString() + "-Y$orientation",
696 getResourceValue(descriptor, 3) 696 getResourceValue(orientation, 3)
697 ) 697 )
698 .putFloat( 698 .putFloat(
699 ButtonType.BUTTON_X.toString() + "$descriptor-X", 699 ButtonType.BUTTON_X.toString() + "-X$orientation",
700 getResourceValue(descriptor, 4) 700 getResourceValue(orientation, 4)
701 ) 701 )
702 .putFloat( 702 .putFloat(
703 ButtonType.BUTTON_X.toString() + "$descriptor-Y", 703 ButtonType.BUTTON_X.toString() + "-Y$orientation",
704 getResourceValue(descriptor, 5) 704 getResourceValue(orientation, 5)
705 ) 705 )
706 .putFloat( 706 .putFloat(
707 ButtonType.BUTTON_Y.toString() + "$descriptor-X", 707 ButtonType.BUTTON_Y.toString() + "-X$orientation",
708 getResourceValue(descriptor, 6) 708 getResourceValue(orientation, 6)
709 ) 709 )
710 .putFloat( 710 .putFloat(
711 ButtonType.BUTTON_Y.toString() + "$descriptor-Y", 711 ButtonType.BUTTON_Y.toString() + "-Y$orientation",
712 getResourceValue(descriptor, 7) 712 getResourceValue(orientation, 7)
713 ) 713 )
714 .putFloat( 714 .putFloat(
715 ButtonType.TRIGGER_ZL.toString() + "$descriptor-X", 715 ButtonType.TRIGGER_ZL.toString() + "-X$orientation",
716 getResourceValue(descriptor, 8) 716 getResourceValue(orientation, 8)
717 ) 717 )
718 .putFloat( 718 .putFloat(
719 ButtonType.TRIGGER_ZL.toString() + "$descriptor-Y", 719 ButtonType.TRIGGER_ZL.toString() + "-Y$orientation",
720 getResourceValue(descriptor, 9) 720 getResourceValue(orientation, 9)
721 ) 721 )
722 .putFloat( 722 .putFloat(
723 ButtonType.TRIGGER_ZR.toString() + "$descriptor-X", 723 ButtonType.TRIGGER_ZR.toString() + "-X$orientation",
724 getResourceValue(descriptor, 10) 724 getResourceValue(orientation, 10)
725 ) 725 )
726 .putFloat( 726 .putFloat(
727 ButtonType.TRIGGER_ZR.toString() + "$descriptor-Y", 727 ButtonType.TRIGGER_ZR.toString() + "-Y$orientation",
728 getResourceValue(descriptor, 11) 728 getResourceValue(orientation, 11)
729 ) 729 )
730 .putFloat( 730 .putFloat(
731 ButtonType.DPAD_UP.toString() + "$descriptor-X", 731 ButtonType.DPAD_UP.toString() + "-X$orientation",
732 getResourceValue(descriptor, 12) 732 getResourceValue(orientation, 12)
733 ) 733 )
734 .putFloat( 734 .putFloat(
735 ButtonType.DPAD_UP.toString() + "$descriptor-Y", 735 ButtonType.DPAD_UP.toString() + "-Y$orientation",
736 getResourceValue(descriptor, 13) 736 getResourceValue(orientation, 13)
737 ) 737 )
738 .putFloat( 738 .putFloat(
739 ButtonType.TRIGGER_L.toString() + "$descriptor-X", 739 ButtonType.TRIGGER_L.toString() + "-X$orientation",
740 getResourceValue(descriptor, 14) 740 getResourceValue(orientation, 14)
741 ) 741 )
742 .putFloat( 742 .putFloat(
743 ButtonType.TRIGGER_L.toString() + "$descriptor-Y", 743 ButtonType.TRIGGER_L.toString() + "-Y$orientation",
744 getResourceValue(descriptor, 15) 744 getResourceValue(orientation, 15)
745 ) 745 )
746 .putFloat( 746 .putFloat(
747 ButtonType.TRIGGER_R.toString() + "$descriptor-X", 747 ButtonType.TRIGGER_R.toString() + "-X$orientation",
748 getResourceValue(descriptor, 16) 748 getResourceValue(orientation, 16)
749 ) 749 )
750 .putFloat( 750 .putFloat(
751 ButtonType.TRIGGER_R.toString() + "$descriptor-Y", 751 ButtonType.TRIGGER_R.toString() + "-Y$orientation",
752 getResourceValue(descriptor, 17) 752 getResourceValue(orientation, 17)
753 ) 753 )
754 .putFloat( 754 .putFloat(
755 ButtonType.BUTTON_PLUS.toString() + "$descriptor-X", 755 ButtonType.BUTTON_PLUS.toString() + "-X$orientation",
756 getResourceValue(descriptor, 18) 756 getResourceValue(orientation, 18)
757 ) 757 )
758 .putFloat( 758 .putFloat(
759 ButtonType.BUTTON_PLUS.toString() + "$descriptor-Y", 759 ButtonType.BUTTON_PLUS.toString() + "-Y$orientation",
760 getResourceValue(descriptor, 19) 760 getResourceValue(orientation, 19)
761 ) 761 )
762 .putFloat( 762 .putFloat(
763 ButtonType.BUTTON_MINUS.toString() + "$descriptor-X", 763 ButtonType.BUTTON_MINUS.toString() + "-X$orientation",
764 getResourceValue(descriptor, 20) 764 getResourceValue(orientation, 20)
765 ) 765 )
766 .putFloat( 766 .putFloat(
767 ButtonType.BUTTON_MINUS.toString() + "$descriptor-Y", 767 ButtonType.BUTTON_MINUS.toString() + "-Y$orientation",
768 getResourceValue(descriptor, 21) 768 getResourceValue(orientation, 21)
769 ) 769 )
770 .putFloat( 770 .putFloat(
771 ButtonType.BUTTON_HOME.toString() + "$descriptor-X", 771 ButtonType.BUTTON_HOME.toString() + "-X$orientation",
772 getResourceValue(descriptor, 22) 772 getResourceValue(orientation, 22)
773 ) 773 )
774 .putFloat( 774 .putFloat(
775 ButtonType.BUTTON_HOME.toString() + "$descriptor-Y", 775 ButtonType.BUTTON_HOME.toString() + "-Y$orientation",
776 getResourceValue(descriptor, 23) 776 getResourceValue(orientation, 23)
777 ) 777 )
778 .putFloat( 778 .putFloat(
779 ButtonType.BUTTON_CAPTURE.toString() + "$descriptor-X", 779 ButtonType.BUTTON_CAPTURE.toString() + "-X$orientation",
780 getResourceValue(descriptor, 24) 780 getResourceValue(orientation, 24)
781 ) 781 )
782 .putFloat( 782 .putFloat(
783 ButtonType.BUTTON_CAPTURE.toString() + "$descriptor-Y", 783 ButtonType.BUTTON_CAPTURE.toString() + "-Y$orientation",
784 getResourceValue(descriptor, 25) 784 getResourceValue(orientation, 25)
785 ) 785 )
786 .putFloat( 786 .putFloat(
787 ButtonType.STICK_R.toString() + "$descriptor-X", 787 ButtonType.STICK_R.toString() + "-X$orientation",
788 getResourceValue(descriptor, 26) 788 getResourceValue(orientation, 26)
789 ) 789 )
790 .putFloat( 790 .putFloat(
791 ButtonType.STICK_R.toString() + "$descriptor-Y", 791 ButtonType.STICK_R.toString() + "-Y$orientation",
792 getResourceValue(descriptor, 27) 792 getResourceValue(orientation, 27)
793 ) 793 )
794 .putFloat( 794 .putFloat(
795 ButtonType.STICK_L.toString() + "$descriptor-X", 795 ButtonType.STICK_L.toString() + "-X$orientation",
796 getResourceValue(descriptor, 28) 796 getResourceValue(orientation, 28)
797 ) 797 )
798 .putFloat( 798 .putFloat(
799 ButtonType.STICK_L.toString() + "$descriptor-Y", 799 ButtonType.STICK_L.toString() + "-Y$orientation",
800 getResourceValue(descriptor, 29) 800 getResourceValue(orientation, 29)
801 ) 801 )
802 .apply() 802 .apply()
803 } 803 }
diff --git a/src/android/app/src/main/res/layout/fragment_emulation.xml b/src/android/app/src/main/res/layout/fragment_emulation.xml
index ffe5f4882..e54a10e8f 100644
--- a/src/android/app/src/main/res/layout/fragment_emulation.xml
+++ b/src/android/app/src/main/res/layout/fragment_emulation.xml
@@ -26,22 +26,10 @@
26 android:focusable="false" 26 android:focusable="false"
27 android:focusableInTouchMode="false" /> 27 android:focusableInTouchMode="false" />
28 28
29 <TextView
30 android:id="@+id/show_fps_text"
31 android:layout_width="wrap_content"
32 android:layout_height="wrap_content"
33 android:layout_gravity="left"
34 android:clickable="false"
35 android:focusable="false"
36 android:shadowColor="@android:color/black"
37 android:textColor="@android:color/white"
38 android:textSize="12sp"
39 tools:ignore="RtlHardcoded" />
40
41 </FrameLayout> 29 </FrameLayout>
42 30
43 <FrameLayout 31 <FrameLayout
44 android:id="@+id/overlay_container" 32 android:id="@+id/input_container"
45 android:layout_width="match_parent" 33 android:layout_width="match_parent"
46 android:layout_height="match_parent" 34 android:layout_height="match_parent"
47 android:layout_gravity="bottom"> 35 android:layout_gravity="bottom">
@@ -66,6 +54,25 @@
66 54
67 </FrameLayout> 55 </FrameLayout>
68 56
57 <FrameLayout
58 android:id="@+id/overlay_container"
59 android:layout_width="match_parent"
60 android:layout_height="match_parent">
61
62 <TextView
63 android:id="@+id/show_fps_text"
64 android:layout_width="wrap_content"
65 android:layout_height="wrap_content"
66 android:layout_gravity="left"
67 android:clickable="false"
68 android:focusable="false"
69 android:shadowColor="@android:color/black"
70 android:textColor="@android:color/white"
71 android:textSize="12sp"
72 tools:ignore="RtlHardcoded" />
73
74 </FrameLayout>
75
69 </androidx.coordinatorlayout.widget.CoordinatorLayout> 76 </androidx.coordinatorlayout.widget.CoordinatorLayout>
70 77
71 <com.google.android.material.navigation.NavigationView 78 <com.google.android.material.navigation.NavigationView
diff --git a/src/android/app/src/main/res/values/integers.xml b/src/android/app/src/main/res/values/integers.xml
index a149002a0..2e93b408c 100644
--- a/src/android/app/src/main/res/values/integers.xml
+++ b/src/android/app/src/main/res/values/integers.xml
@@ -36,25 +36,25 @@
36 36
37 <!-- Default SWITCH portrait layout --> 37 <!-- Default SWITCH portrait layout -->
38 <integer name="SWITCH_BUTTON_A_X_PORTRAIT">840</integer> 38 <integer name="SWITCH_BUTTON_A_X_PORTRAIT">840</integer>
39 <integer name="SWITCH_BUTTON_A_Y_PORTRAIT">820</integer> 39 <integer name="SWITCH_BUTTON_A_Y_PORTRAIT">840</integer>
40 <integer name="SWITCH_BUTTON_B_X_PORTRAIT">740</integer> 40 <integer name="SWITCH_BUTTON_B_X_PORTRAIT">740</integer>
41 <integer name="SWITCH_BUTTON_B_Y_PORTRAIT">860</integer> 41 <integer name="SWITCH_BUTTON_B_Y_PORTRAIT">880</integer>
42 <integer name="SWITCH_BUTTON_X_X_PORTRAIT">740</integer> 42 <integer name="SWITCH_BUTTON_X_X_PORTRAIT">740</integer>
43 <integer name="SWITCH_BUTTON_X_Y_PORTRAIT">780</integer> 43 <integer name="SWITCH_BUTTON_X_Y_PORTRAIT">800</integer>
44 <integer name="SWITCH_BUTTON_Y_X_PORTRAIT">640</integer> 44 <integer name="SWITCH_BUTTON_Y_X_PORTRAIT">640</integer>
45 <integer name="SWITCH_BUTTON_Y_Y_PORTRAIT">820</integer> 45 <integer name="SWITCH_BUTTON_Y_Y_PORTRAIT">840</integer>
46 <integer name="SWITCH_STICK_L_X_PORTRAIT">180</integer> 46 <integer name="SWITCH_STICK_L_X_PORTRAIT">180</integer>
47 <integer name="SWITCH_STICK_L_Y_PORTRAIT">640</integer> 47 <integer name="SWITCH_STICK_L_Y_PORTRAIT">660</integer>
48 <integer name="SWITCH_STICK_R_X_PORTRAIT">820</integer> 48 <integer name="SWITCH_STICK_R_X_PORTRAIT">820</integer>
49 <integer name="SWITCH_STICK_R_Y_PORTRAIT">640</integer> 49 <integer name="SWITCH_STICK_R_Y_PORTRAIT">660</integer>
50 <integer name="SWITCH_TRIGGER_L_X_PORTRAIT">140</integer> 50 <integer name="SWITCH_TRIGGER_L_X_PORTRAIT">140</integer>
51 <integer name="SWITCH_TRIGGER_L_Y_PORTRAIT">240</integer> 51 <integer name="SWITCH_TRIGGER_L_Y_PORTRAIT">260</integer>
52 <integer name="SWITCH_TRIGGER_R_X_PORTRAIT">860</integer> 52 <integer name="SWITCH_TRIGGER_R_X_PORTRAIT">860</integer>
53 <integer name="SWITCH_TRIGGER_R_Y_PORTRAIT">240</integer> 53 <integer name="SWITCH_TRIGGER_R_Y_PORTRAIT">260</integer>
54 <integer name="SWITCH_TRIGGER_ZL_X_PORTRAIT">140</integer> 54 <integer name="SWITCH_TRIGGER_ZL_X_PORTRAIT">140</integer>
55 <integer name="SWITCH_TRIGGER_ZL_Y_PORTRAIT">180</integer> 55 <integer name="SWITCH_TRIGGER_ZL_Y_PORTRAIT">200</integer>
56 <integer name="SWITCH_TRIGGER_ZR_X_PORTRAIT">860</integer> 56 <integer name="SWITCH_TRIGGER_ZR_X_PORTRAIT">860</integer>
57 <integer name="SWITCH_TRIGGER_ZR_Y_PORTRAIT">180</integer> 57 <integer name="SWITCH_TRIGGER_ZR_Y_PORTRAIT">200</integer>
58 <integer name="SWITCH_BUTTON_MINUS_X_PORTRAIT">440</integer> 58 <integer name="SWITCH_BUTTON_MINUS_X_PORTRAIT">440</integer>
59 <integer name="SWITCH_BUTTON_MINUS_Y_PORTRAIT">950</integer> 59 <integer name="SWITCH_BUTTON_MINUS_Y_PORTRAIT">950</integer>
60 <integer name="SWITCH_BUTTON_PLUS_X_PORTRAIT">560</integer> 60 <integer name="SWITCH_BUTTON_PLUS_X_PORTRAIT">560</integer>
@@ -64,38 +64,38 @@
64 <integer name="SWITCH_BUTTON_CAPTURE_X_PORTRAIT">320</integer> 64 <integer name="SWITCH_BUTTON_CAPTURE_X_PORTRAIT">320</integer>
65 <integer name="SWITCH_BUTTON_CAPTURE_Y_PORTRAIT">950</integer> 65 <integer name="SWITCH_BUTTON_CAPTURE_Y_PORTRAIT">950</integer>
66 <integer name="SWITCH_BUTTON_DPAD_X_PORTRAIT">240</integer> 66 <integer name="SWITCH_BUTTON_DPAD_X_PORTRAIT">240</integer>
67 <integer name="SWITCH_BUTTON_DPAD_Y_PORTRAIT">820</integer> 67 <integer name="SWITCH_BUTTON_DPAD_Y_PORTRAIT">840</integer>
68 68
69 <!-- Default SWITCH foldable layout --> 69 <!-- Default SWITCH foldable layout -->
70 <integer name="SWITCH_BUTTON_A_X_FOLDABLE">840</integer> 70 <integer name="SWITCH_BUTTON_A_X_FOLDABLE">840</integer>
71 <integer name="SWITCH_BUTTON_A_Y_FOLDABLE">340</integer> 71 <integer name="SWITCH_BUTTON_A_Y_FOLDABLE">390</integer>
72 <integer name="SWITCH_BUTTON_B_X_FOLDABLE">740</integer> 72 <integer name="SWITCH_BUTTON_B_X_FOLDABLE">740</integer>
73 <integer name="SWITCH_BUTTON_B_Y_FOLDABLE">380</integer> 73 <integer name="SWITCH_BUTTON_B_Y_FOLDABLE">430</integer>
74 <integer name="SWITCH_BUTTON_X_X_FOLDABLE">740</integer> 74 <integer name="SWITCH_BUTTON_X_X_FOLDABLE">740</integer>
75 <integer name="SWITCH_BUTTON_X_Y_FOLDABLE">300</integer> 75 <integer name="SWITCH_BUTTON_X_Y_FOLDABLE">350</integer>
76 <integer name="SWITCH_BUTTON_Y_X_FOLDABLE">640</integer> 76 <integer name="SWITCH_BUTTON_Y_X_FOLDABLE">640</integer>
77 <integer name="SWITCH_BUTTON_Y_Y_FOLDABLE">340</integer> 77 <integer name="SWITCH_BUTTON_Y_Y_FOLDABLE">390</integer>
78 <integer name="SWITCH_STICK_L_X_FOLDABLE">180</integer> 78 <integer name="SWITCH_STICK_L_X_FOLDABLE">180</integer>
79 <integer name="SWITCH_STICK_L_Y_FOLDABLE">200</integer> 79 <integer name="SWITCH_STICK_L_Y_FOLDABLE">250</integer>
80 <integer name="SWITCH_STICK_R_X_FOLDABLE">820</integer> 80 <integer name="SWITCH_STICK_R_X_FOLDABLE">820</integer>
81 <integer name="SWITCH_STICK_R_Y_FOLDABLE">200</integer> 81 <integer name="SWITCH_STICK_R_Y_FOLDABLE">250</integer>
82 <integer name="SWITCH_TRIGGER_L_X_FOLDABLE">140</integer> 82 <integer name="SWITCH_TRIGGER_L_X_FOLDABLE">140</integer>
83 <integer name="SWITCH_TRIGGER_L_Y_FOLDABLE">80</integer> 83 <integer name="SWITCH_TRIGGER_L_Y_FOLDABLE">130</integer>
84 <integer name="SWITCH_TRIGGER_R_X_FOLDABLE">860</integer> 84 <integer name="SWITCH_TRIGGER_R_X_FOLDABLE">860</integer>
85 <integer name="SWITCH_TRIGGER_R_Y_FOLDABLE">80</integer> 85 <integer name="SWITCH_TRIGGER_R_Y_FOLDABLE">130</integer>
86 <integer name="SWITCH_TRIGGER_ZL_X_FOLDABLE">140</integer> 86 <integer name="SWITCH_TRIGGER_ZL_X_FOLDABLE">140</integer>
87 <integer name="SWITCH_TRIGGER_ZL_Y_FOLDABLE">20</integer> 87 <integer name="SWITCH_TRIGGER_ZL_Y_FOLDABLE">70</integer>
88 <integer name="SWITCH_TRIGGER_ZR_X_FOLDABLE">860</integer> 88 <integer name="SWITCH_TRIGGER_ZR_X_FOLDABLE">860</integer>
89 <integer name="SWITCH_TRIGGER_ZR_Y_FOLDABLE">20</integer> 89 <integer name="SWITCH_TRIGGER_ZR_Y_FOLDABLE">70</integer>
90 <integer name="SWITCH_BUTTON_MINUS_X_FOLDABLE">440</integer> 90 <integer name="SWITCH_BUTTON_MINUS_X_FOLDABLE">440</integer>
91 <integer name="SWITCH_BUTTON_MINUS_Y_FOLDABLE">420</integer> 91 <integer name="SWITCH_BUTTON_MINUS_Y_FOLDABLE">470</integer>
92 <integer name="SWITCH_BUTTON_PLUS_X_FOLDABLE">560</integer> 92 <integer name="SWITCH_BUTTON_PLUS_X_FOLDABLE">560</integer>
93 <integer name="SWITCH_BUTTON_PLUS_Y_FOLDABLE">420</integer> 93 <integer name="SWITCH_BUTTON_PLUS_Y_FOLDABLE">470</integer>
94 <integer name="SWITCH_BUTTON_HOME_X_FOLDABLE">680</integer> 94 <integer name="SWITCH_BUTTON_HOME_X_FOLDABLE">680</integer>
95 <integer name="SWITCH_BUTTON_HOME_Y_FOLDABLE">420</integer> 95 <integer name="SWITCH_BUTTON_HOME_Y_FOLDABLE">470</integer>
96 <integer name="SWITCH_BUTTON_CAPTURE_X_FOLDABLE">320</integer> 96 <integer name="SWITCH_BUTTON_CAPTURE_X_FOLDABLE">320</integer>
97 <integer name="SWITCH_BUTTON_CAPTURE_Y_FOLDABLE">420</integer> 97 <integer name="SWITCH_BUTTON_CAPTURE_Y_FOLDABLE">470</integer>
98 <integer name="SWITCH_BUTTON_DPAD_X_FOLDABLE">240</integer> 98 <integer name="SWITCH_BUTTON_DPAD_X_FOLDABLE">240</integer>
99 <integer name="SWITCH_BUTTON_DPAD_Y_FOLDABLE">340</integer> 99 <integer name="SWITCH_BUTTON_DPAD_Y_FOLDABLE">390</integer>
100 100
101</resources> 101</resources>