Compare commits

...

5 Commits

Author SHA1 Message Date
d86d37ea58 Android 185 2024-01-07 01:01:29 +00:00
a6d58fe79d Merge yuzu-emu#12576 2024-01-07 01:01:29 +00:00
606361560a Merge yuzu-emu#12560 2024-01-07 01:01:28 +00:00
12fd2ae86d Merge pull request #12582 from german77/hid-core
hid_core: Move hid to it's own subproject
2024-01-06 15:38:59 -06:00
ee847f8ff0 hid_core: Move hid to it's own subproject 2024-01-05 11:41:15 -06:00
149 changed files with 763 additions and 436 deletions

View File

@ -1,3 +1,13 @@
| Pull Request | Commit | Title | Author | Merged? |
|----|----|----|----|----|
| [12560](https://github.com/yuzu-emu/yuzu-android//pull/12560) | [`e5de3d5a7`](https://github.com/yuzu-emu/yuzu-android//pull/12560/files) | android: add basic support for google game dashboard | [GayPotatoEmma](https://github.com/GayPotatoEmma/) | Yes |
| [12576](https://github.com/yuzu-emu/yuzu-android//pull/12576) | [`53d4dbacf`](https://github.com/yuzu-emu/yuzu-android//pull/12576/files) | android: Re-add global save manager | [t895](https://github.com/t895/) | Yes |
End of merge log. You can find the original README.md below the break.
-----
<!-- <!--
SPDX-FileCopyrightText: 2018 yuzu Emulator Project SPDX-FileCopyrightText: 2018 yuzu Emulator Project
SPDX-License-Identifier: GPL-2.0-or-later SPDX-License-Identifier: GPL-2.0-or-later

View File

@ -185,6 +185,7 @@ add_subdirectory(common)
add_subdirectory(core) add_subdirectory(core)
add_subdirectory(audio_core) add_subdirectory(audio_core)
add_subdirectory(video_core) add_subdirectory(video_core)
add_subdirectory(hid_core)
add_subdirectory(network) add_subdirectory(network)
add_subdirectory(input_common) add_subdirectory(input_common)
add_subdirectory(frontend_common) add_subdirectory(frontend_common)

View File

@ -31,6 +31,9 @@ SPDX-License-Identifier: GPL-3.0-or-later
android:dataExtractionRules="@xml/data_extraction_rules_api_31" android:dataExtractionRules="@xml/data_extraction_rules_api_31"
android:enableOnBackInvokedCallback="true"> android:enableOnBackInvokedCallback="true">
<meta-data android:name="android.game_mode_config"
android:resource="@xml/game_mode_config" />
<activity <activity
android:name="org.yuzu.yuzu_emu.ui.main.MainActivity" android:name="org.yuzu.yuzu_emu.ui.main.MainActivity"
android:exported="true" android:exported="true"

View File

@ -547,6 +547,15 @@ object NativeLibrary {
*/ */
external fun getSavePath(programId: String): String external fun getSavePath(programId: String): String
/**
* Gets the root save directory for the default profile as either
* /user/save/account/<user id raw string> or /user/save/000...000/<user id>
*
* @param future If true, returns the /user/save/account/... directory
* @return Save data path that may not exist yet
*/
external fun getDefaultProfileSaveDataRoot(future: Boolean): String
/** /**
* Adds a file to the manual filesystem provider in our EmulationSession instance * Adds a file to the manual filesystem provider in our EmulationSession instance
* @param path Path to the file we're adding. Can be a string representation of a [Uri] or * @param path Path to the file we're adding. Can be a string representation of a [Uri] or

View File

@ -7,20 +7,39 @@ import android.os.Bundle
import android.view.LayoutInflater import android.view.LayoutInflater
import android.view.View import android.view.View
import android.view.ViewGroup import android.view.ViewGroup
import android.widget.Toast
import androidx.activity.result.contract.ActivityResultContracts
import androidx.core.view.ViewCompat import androidx.core.view.ViewCompat
import androidx.core.view.WindowInsetsCompat import androidx.core.view.WindowInsetsCompat
import androidx.core.view.updatePadding import androidx.core.view.updatePadding
import androidx.fragment.app.Fragment import androidx.fragment.app.Fragment
import androidx.fragment.app.activityViewModels import androidx.fragment.app.activityViewModels
import androidx.lifecycle.Lifecycle
import androidx.lifecycle.lifecycleScope
import androidx.lifecycle.repeatOnLifecycle
import androidx.navigation.findNavController import androidx.navigation.findNavController
import androidx.recyclerview.widget.GridLayoutManager import androidx.recyclerview.widget.GridLayoutManager
import com.google.android.material.transition.MaterialSharedAxis import com.google.android.material.transition.MaterialSharedAxis
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.launch
import kotlinx.coroutines.withContext
import org.yuzu.yuzu_emu.NativeLibrary
import org.yuzu.yuzu_emu.R import org.yuzu.yuzu_emu.R
import org.yuzu.yuzu_emu.YuzuApplication
import org.yuzu.yuzu_emu.adapters.InstallableAdapter import org.yuzu.yuzu_emu.adapters.InstallableAdapter
import org.yuzu.yuzu_emu.databinding.FragmentInstallablesBinding import org.yuzu.yuzu_emu.databinding.FragmentInstallablesBinding
import org.yuzu.yuzu_emu.model.HomeViewModel import org.yuzu.yuzu_emu.model.HomeViewModel
import org.yuzu.yuzu_emu.model.Installable import org.yuzu.yuzu_emu.model.Installable
import org.yuzu.yuzu_emu.model.TaskState
import org.yuzu.yuzu_emu.ui.main.MainActivity import org.yuzu.yuzu_emu.ui.main.MainActivity
import org.yuzu.yuzu_emu.utils.DirectoryInitialization
import org.yuzu.yuzu_emu.utils.FileUtil
import java.io.BufferedInputStream
import java.io.BufferedOutputStream
import java.io.File
import java.math.BigInteger
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter
class InstallableFragment : Fragment() { class InstallableFragment : Fragment() {
private var _binding: FragmentInstallablesBinding? = null private var _binding: FragmentInstallablesBinding? = null
@ -56,6 +75,17 @@ class InstallableFragment : Fragment() {
binding.root.findNavController().popBackStack() binding.root.findNavController().popBackStack()
} }
viewLifecycleOwner.lifecycleScope.launch {
repeatOnLifecycle(Lifecycle.State.CREATED) {
homeViewModel.openImportSaves.collect {
if (it) {
importSaves.launch(arrayOf("application/zip"))
homeViewModel.setOpenImportSaves(false)
}
}
}
}
val installables = listOf( val installables = listOf(
Installable( Installable(
R.string.user_data, R.string.user_data,
@ -63,6 +93,43 @@ class InstallableFragment : Fragment() {
install = { mainActivity.importUserData.launch(arrayOf("application/zip")) }, install = { mainActivity.importUserData.launch(arrayOf("application/zip")) },
export = { mainActivity.exportUserData.launch("export.zip") } export = { mainActivity.exportUserData.launch("export.zip") }
), ),
Installable(
R.string.manage_save_data,
R.string.manage_save_data_description,
install = {
MessageDialogFragment.newInstance(
requireActivity(),
titleId = R.string.import_save_warning,
descriptionId = R.string.import_save_warning_description,
positiveAction = { homeViewModel.setOpenImportSaves(true) }
).show(parentFragmentManager, MessageDialogFragment.TAG)
},
export = {
val oldSaveDataFolder = File(
"${DirectoryInitialization.userDirectory}/nand" +
NativeLibrary.getDefaultProfileSaveDataRoot(false)
)
val futureSaveDataFolder = File(
"${DirectoryInitialization.userDirectory}/nand" +
NativeLibrary.getDefaultProfileSaveDataRoot(true)
)
if (!oldSaveDataFolder.exists() && !futureSaveDataFolder.exists()) {
Toast.makeText(
YuzuApplication.appContext,
R.string.no_save_data_found,
Toast.LENGTH_SHORT
).show()
return@Installable
} else {
exportSaves.launch(
"${getString(R.string.save_data)} " +
LocalDateTime.now().format(
DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm")
)
)
}
}
),
Installable( Installable(
R.string.install_game_content, R.string.install_game_content,
R.string.install_game_content_description, R.string.install_game_content_description,
@ -121,4 +188,156 @@ class InstallableFragment : Fragment() {
windowInsets windowInsets
} }
private val importSaves =
registerForActivityResult(ActivityResultContracts.OpenDocument()) { result ->
if (result == null) {
return@registerForActivityResult
}
val inputZip = requireContext().contentResolver.openInputStream(result)
val cacheSaveDir = File("${requireContext().cacheDir.path}/saves/")
cacheSaveDir.mkdir()
if (inputZip == null) {
Toast.makeText(
YuzuApplication.appContext,
getString(R.string.fatal_error),
Toast.LENGTH_LONG
).show()
return@registerForActivityResult
}
IndeterminateProgressDialogFragment.newInstance(
requireActivity(),
R.string.save_files_importing,
false
) {
try {
FileUtil.unzipToInternalStorage(BufferedInputStream(inputZip), cacheSaveDir)
val files = cacheSaveDir.listFiles()
var successfulImports = 0
var failedImports = 0
if (files != null) {
for (file in files) {
if (file.isDirectory) {
val baseSaveDir =
NativeLibrary.getSavePath(BigInteger(file.name, 16).toString())
if (baseSaveDir.isEmpty()) {
failedImports++
continue
}
val internalSaveFolder = File(
"${DirectoryInitialization.userDirectory}/nand$baseSaveDir"
)
internalSaveFolder.deleteRecursively()
internalSaveFolder.mkdir()
file.copyRecursively(target = internalSaveFolder, overwrite = true)
successfulImports++
}
}
}
withContext(Dispatchers.Main) {
if (successfulImports == 0) {
MessageDialogFragment.newInstance(
requireActivity(),
titleId = R.string.save_file_invalid_zip_structure,
descriptionId = R.string.save_file_invalid_zip_structure_description
).show(parentFragmentManager, MessageDialogFragment.TAG)
return@withContext
}
val successString = if (failedImports > 0) {
"""
${
requireContext().resources.getQuantityString(
R.plurals.saves_import_success,
successfulImports,
successfulImports
)
}
${
requireContext().resources.getQuantityString(
R.plurals.saves_import_failed,
failedImports,
failedImports
)
}
"""
} else {
requireContext().resources.getQuantityString(
R.plurals.saves_import_success,
successfulImports,
successfulImports
)
}
MessageDialogFragment.newInstance(
requireActivity(),
titleId = R.string.import_complete,
descriptionString = successString
).show(parentFragmentManager, MessageDialogFragment.TAG)
}
cacheSaveDir.deleteRecursively()
} catch (e: Exception) {
Toast.makeText(
YuzuApplication.appContext,
getString(R.string.fatal_error),
Toast.LENGTH_LONG
).show()
}
}.show(parentFragmentManager, IndeterminateProgressDialogFragment.TAG)
}
private val exportSaves = registerForActivityResult(
ActivityResultContracts.CreateDocument("application/zip")
) { result ->
if (result == null) {
return@registerForActivityResult
}
IndeterminateProgressDialogFragment.newInstance(
requireActivity(),
R.string.save_files_exporting,
false
) {
val cacheSaveDir = File("${requireContext().cacheDir.path}/saves/")
cacheSaveDir.mkdir()
val oldSaveDataFolder = File(
"${DirectoryInitialization.userDirectory}/nand" +
NativeLibrary.getDefaultProfileSaveDataRoot(false)
)
if (oldSaveDataFolder.exists()) {
oldSaveDataFolder.copyRecursively(cacheSaveDir)
}
val futureSaveDataFolder = File(
"${DirectoryInitialization.userDirectory}/nand" +
NativeLibrary.getDefaultProfileSaveDataRoot(true)
)
if (futureSaveDataFolder.exists()) {
futureSaveDataFolder.copyRecursively(cacheSaveDir)
}
val saveFilesTotal = cacheSaveDir.listFiles()?.size ?: 0
if (saveFilesTotal == 0) {
cacheSaveDir.deleteRecursively()
return@newInstance getString(R.string.no_save_data_found)
}
val zipResult = FileUtil.zipFromInternalStorage(
cacheSaveDir,
cacheSaveDir.path,
BufferedOutputStream(requireContext().contentResolver.openOutputStream(result))
)
cacheSaveDir.deleteRecursively()
return@newInstance when (zipResult) {
TaskState.Completed -> getString(R.string.export_success)
TaskState.Cancelled, TaskState.Failed -> getString(R.string.export_failed)
}
}.show(parentFragmentManager, IndeterminateProgressDialogFragment.TAG)
}
} }

View File

@ -45,15 +45,15 @@
#include "core/frontend/applets/profile_select.h" #include "core/frontend/applets/profile_select.h"
#include "core/frontend/applets/software_keyboard.h" #include "core/frontend/applets/software_keyboard.h"
#include "core/frontend/applets/web_browser.h" #include "core/frontend/applets/web_browser.h"
#include "core/hid/emulated_controller.h"
#include "core/hid/hid_core.h"
#include "core/hid/hid_types.h"
#include "core/hle/service/am/applet_ae.h" #include "core/hle/service/am/applet_ae.h"
#include "core/hle/service/am/applet_oe.h" #include "core/hle/service/am/applet_oe.h"
#include "core/hle/service/am/applets/applets.h" #include "core/hle/service/am/applets/applets.h"
#include "core/hle/service/filesystem/filesystem.h" #include "core/hle/service/filesystem/filesystem.h"
#include "core/loader/loader.h" #include "core/loader/loader.h"
#include "frontend_common/config.h" #include "frontend_common/config.h"
#include "hid_core/frontend/emulated_controller.h"
#include "hid_core/hid_core.h"
#include "hid_core/hid_types.h"
#include "jni/android_common/android_common.h" #include "jni/android_common/android_common.h"
#include "jni/id_cache.h" #include "jni/id_cache.h"
#include "jni/native.h" #include "jni/native.h"
@ -862,6 +862,9 @@ jobjectArray Java_org_yuzu_yuzu_1emu_NativeLibrary_getAddonsForFile(JNIEnv* env,
jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getSavePath(JNIEnv* env, jobject jobj, jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getSavePath(JNIEnv* env, jobject jobj,
jstring jprogramId) { jstring jprogramId) {
auto program_id = EmulationSession::GetProgramId(env, jprogramId); auto program_id = EmulationSession::GetProgramId(env, jprogramId);
if (program_id == 0) {
return ToJString(env, "");
}
auto& system = EmulationSession::GetInstance().System(); auto& system = EmulationSession::GetInstance().System();
@ -880,6 +883,19 @@ jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getSavePath(JNIEnv* env, jobject j
return ToJString(env, user_save_data_path); return ToJString(env, user_save_data_path);
} }
jstring Java_org_yuzu_yuzu_1emu_NativeLibrary_getDefaultProfileSaveDataRoot(JNIEnv* env,
jobject jobj,
jboolean jfuture) {
Service::Account::ProfileManager manager;
// TODO: Pass in a selected user once we get the relevant UI working
const auto user_id = manager.GetUser(static_cast<std::size_t>(0));
ASSERT(user_id);
const auto user_save_data_root =
FileSys::SaveDataFactory::GetUserGameSaveDataRoot(user_id->AsU128(), jfuture);
return ToJString(env, user_save_data_root);
}
void Java_org_yuzu_yuzu_1emu_NativeLibrary_addFileToFilesystemProvider(JNIEnv* env, jobject jobj, void Java_org_yuzu_yuzu_1emu_NativeLibrary_addFileToFilesystemProvider(JNIEnv* env, jobject jobj,
jstring jpath) { jstring jpath) {
EmulationSession::GetInstance().ConfigureFilesystemProvider(GetJString(env, jpath)); EmulationSession::GetInstance().ConfigureFilesystemProvider(GetJString(env, jpath));

View File

@ -133,6 +133,15 @@
<string name="add_game_folder">Add game folder</string> <string name="add_game_folder">Add game folder</string>
<string name="folder_already_added">This folder was already added!</string> <string name="folder_already_added">This folder was already added!</string>
<string name="game_folder_properties">Game folder properties</string> <string name="game_folder_properties">Game folder properties</string>
<plurals name="saves_import_failed">
<item quantity="one">Failed to import %d save</item>
<item quantity="other">Failed to import %d saves</item>
</plurals>
<plurals name="saves_import_success">
<item quantity="one">Successfully imported %d save</item>
<item quantity="other">Successfully imported %d saves</item>
</plurals>
<string name="no_save_data_found">No save data found</string>
<!-- Applet launcher strings --> <!-- Applet launcher strings -->
<string name="applets">Applet launcher</string> <string name="applets">Applet launcher</string>
@ -276,6 +285,7 @@
<string name="global">Global</string> <string name="global">Global</string>
<string name="custom">Custom</string> <string name="custom">Custom</string>
<string name="notice">Notice</string> <string name="notice">Notice</string>
<string name="import_complete">Import complete</string>
<!-- GPU driver installation --> <!-- GPU driver installation -->
<string name="select_gpu_driver">Select GPU driver</string> <string name="select_gpu_driver">Select GPU driver</string>

View File

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<game-mode-config
xmlns:android="http://schemas.android.com/apk/res/android"
android:supportsBatteryGameMode="true"
android:supportsPerformanceGameMode="true"
android:allowGameDownscaling="false"
android:allowGameFpsOverride="false"/>

View File

@ -183,22 +183,6 @@ add_library(core STATIC
frontend/framebuffer_layout.cpp frontend/framebuffer_layout.cpp
frontend/framebuffer_layout.h frontend/framebuffer_layout.h
frontend/graphics_context.h frontend/graphics_context.h
hid/emulated_console.cpp
hid/emulated_console.h
hid/emulated_controller.cpp
hid/emulated_controller.h
hid/emulated_devices.cpp
hid/emulated_devices.h
hid/hid_core.cpp
hid/hid_core.h
hid/hid_types.h
hid/input_converter.cpp
hid/input_converter.h
hid/input_interpreter.cpp
hid/input_interpreter.h
hid/irs_types.h
hid/motion_input.cpp
hid/motion_input.h
hle/api_version.h hle/api_version.h
hle/ipc.h hle/ipc.h
hle/kernel/board/nintendo/nx/k_memory_layout.cpp hle/kernel/board/nintendo/nx/k_memory_layout.cpp
@ -531,94 +515,16 @@ add_library(core STATIC
hle/service/hid/hid.h hle/service/hid/hid.h
hle/service/hid/hid_debug_server.cpp hle/service/hid/hid_debug_server.cpp
hle/service/hid/hid_debug_server.h hle/service/hid/hid_debug_server.h
hle/service/hid/hid_firmware_settings.cpp
hle/service/hid/hid_firmware_settings.h
hle/service/hid/hid_server.cpp hle/service/hid/hid_server.cpp
hle/service/hid/hid_server.h hle/service/hid/hid_server.h
hle/service/hid/hid_system_server.cpp hle/service/hid/hid_system_server.cpp
hle/service/hid/hid_system_server.h hle/service/hid/hid_system_server.h
hle/service/hid/hid_util.h
hle/service/hid/hidbus.cpp hle/service/hid/hidbus.cpp
hle/service/hid/hidbus.h hle/service/hid/hidbus.h
hle/service/hid/irs.cpp hle/service/hid/irs.cpp
hle/service/hid/irs.h hle/service/hid/irs.h
hle/service/hid/irs_ring_lifo.h
hle/service/hid/resource_manager.cpp
hle/service/hid/resource_manager.h
hle/service/hid/ring_lifo.h
hle/service/hid/xcd.cpp hle/service/hid/xcd.cpp
hle/service/hid/xcd.h hle/service/hid/xcd.h
hle/service/hid/errors.h
hle/service/hid/controllers/npad/npad_data.cpp
hle/service/hid/controllers/npad/npad_data.h
hle/service/hid/controllers/npad/npad_resource.cpp
hle/service/hid/controllers/npad/npad_resource.h
hle/service/hid/controllers/types/debug_pad_types.h
hle/service/hid/controllers/types/keyboard_types.h
hle/service/hid/controllers/types/mouse_types.h
hle/service/hid/controllers/types/npad_types.h
hle/service/hid/controllers/types/shared_memory_format.h
hle/service/hid/controllers/types/touch_types.h
hle/service/hid/controllers/applet_resource.cpp
hle/service/hid/controllers/applet_resource.h
hle/service/hid/controllers/capture_button.cpp
hle/service/hid/controllers/capture_button.h
hle/service/hid/controllers/console_six_axis.cpp
hle/service/hid/controllers/console_six_axis.h
hle/service/hid/controllers/controller_base.cpp
hle/service/hid/controllers/controller_base.h
hle/service/hid/controllers/debug_mouse.cpp
hle/service/hid/controllers/debug_mouse.h
hle/service/hid/controllers/debug_pad.cpp
hle/service/hid/controllers/debug_pad.h
hle/service/hid/controllers/digitizer.cpp
hle/service/hid/controllers/digitizer.h
hle/service/hid/controllers/gesture.cpp
hle/service/hid/controllers/gesture.h
hle/service/hid/controllers/home_button.cpp
hle/service/hid/controllers/home_button.h
hle/service/hid/controllers/keyboard.cpp
hle/service/hid/controllers/keyboard.h
hle/service/hid/controllers/mouse.cpp
hle/service/hid/controllers/mouse.h
hle/service/hid/controllers/npad.cpp
hle/service/hid/controllers/npad.h
hle/service/hid/controllers/palma.cpp
hle/service/hid/controllers/palma.h
hle/service/hid/controllers/seven_six_axis.cpp
hle/service/hid/controllers/seven_six_axis.h
hle/service/hid/controllers/shared_memory_holder.cpp
hle/service/hid/controllers/shared_memory_holder.h
hle/service/hid/controllers/six_axis.cpp
hle/service/hid/controllers/six_axis.h
hle/service/hid/controllers/sleep_button.cpp
hle/service/hid/controllers/sleep_button.h
hle/service/hid/controllers/touchscreen.cpp
hle/service/hid/controllers/touchscreen.h
hle/service/hid/controllers/unique_pad.cpp
hle/service/hid/controllers/unique_pad.h
hle/service/hid/hidbus/hidbus_base.cpp
hle/service/hid/hidbus/hidbus_base.h
hle/service/hid/hidbus/ringcon.cpp
hle/service/hid/hidbus/ringcon.h
hle/service/hid/hidbus/starlink.cpp
hle/service/hid/hidbus/starlink.h
hle/service/hid/hidbus/stubbed.cpp
hle/service/hid/hidbus/stubbed.h
hle/service/hid/irsensor/clustering_processor.cpp
hle/service/hid/irsensor/clustering_processor.h
hle/service/hid/irsensor/image_transfer_processor.cpp
hle/service/hid/irsensor/image_transfer_processor.h
hle/service/hid/irsensor/ir_led_processor.cpp
hle/service/hid/irsensor/ir_led_processor.h
hle/service/hid/irsensor/moment_processor.cpp
hle/service/hid/irsensor/moment_processor.h
hle/service/hid/irsensor/pointing_processor.cpp
hle/service/hid/irsensor/pointing_processor.h
hle/service/hid/irsensor/processor_base.cpp
hle/service/hid/irsensor/processor_base.h
hle/service/hid/irsensor/tera_plugin_processor.cpp
hle/service/hid/irsensor/tera_plugin_processor.h
hle/service/lbl/lbl.cpp hle/service/lbl/lbl.cpp
hle/service/lbl/lbl.h hle/service/lbl/lbl.h
hle/service/ldn/lan_discovery.cpp hle/service/ldn/lan_discovery.cpp
@ -959,7 +865,7 @@ endif()
create_target_directory_groups(core) create_target_directory_groups(core)
target_link_libraries(core PUBLIC common PRIVATE audio_core network video_core nx_tzdb) target_link_libraries(core PUBLIC common PRIVATE audio_core hid_core network video_core nx_tzdb)
target_link_libraries(core PUBLIC Boost::headers PRIVATE fmt::fmt nlohmann_json::nlohmann_json mbedtls RenderDoc::API) target_link_libraries(core PUBLIC Boost::headers PRIVATE fmt::fmt nlohmann_json::nlohmann_json mbedtls RenderDoc::API)
if (MINGW) if (MINGW)
target_link_libraries(core PRIVATE ${MSWSOCK_LIBRARY}) target_link_libraries(core PRIVATE ${MSWSOCK_LIBRARY})

View File

@ -28,7 +28,6 @@
#include "core/file_sys/savedata_factory.h" #include "core/file_sys/savedata_factory.h"
#include "core/file_sys/vfs_concat.h" #include "core/file_sys/vfs_concat.h"
#include "core/file_sys/vfs_real.h" #include "core/file_sys/vfs_real.h"
#include "core/hid/hid_core.h"
#include "core/hle/kernel/k_memory_manager.h" #include "core/hle/kernel/k_memory_manager.h"
#include "core/hle/kernel/k_process.h" #include "core/hle/kernel/k_process.h"
#include "core/hle/kernel/k_resource_limit.h" #include "core/hle/kernel/k_resource_limit.h"
@ -52,6 +51,7 @@
#include "core/telemetry_session.h" #include "core/telemetry_session.h"
#include "core/tools/freezer.h" #include "core/tools/freezer.h"
#include "core/tools/renderdoc.h" #include "core/tools/renderdoc.h"
#include "hid_core/hid_core.h"
#include "network/network.h" #include "network/network.h"
#include "video_core/host1x/host1x.h" #include "video_core/host1x/host1x.h"
#include "video_core/renderer_base.h" #include "video_core/renderer_base.h"

View File

@ -189,6 +189,15 @@ std::string SaveDataFactory::GetFullPath(Core::System& system, VirtualDir dir,
} }
} }
std::string SaveDataFactory::GetUserGameSaveDataRoot(u128 user_id, bool future) {
if (future) {
Common::UUID uuid;
std::memcpy(uuid.uuid.data(), user_id.data(), sizeof(Common::UUID));
return fmt::format("/user/save/account/{}", uuid.RawString());
}
return fmt::format("/user/save/{:016X}/{:016X}{:016X}", 0, user_id[1], user_id[0]);
}
SaveDataSize SaveDataFactory::ReadSaveDataSize(SaveDataType type, u64 title_id, SaveDataSize SaveDataFactory::ReadSaveDataSize(SaveDataType type, u64 title_id,
u128 user_id) const { u128 user_id) const {
const auto path = const auto path =

View File

@ -101,6 +101,7 @@ public:
static std::string GetSaveDataSpaceIdPath(SaveDataSpaceId space); static std::string GetSaveDataSpaceIdPath(SaveDataSpaceId space);
static std::string GetFullPath(Core::System& system, VirtualDir dir, SaveDataSpaceId space, static std::string GetFullPath(Core::System& system, VirtualDir dir, SaveDataSpaceId space,
SaveDataType type, u64 title_id, u128 user_id, u64 save_id); SaveDataType type, u64 title_id, u128 user_id, u64 save_id);
static std::string GetUserGameSaveDataRoot(u128 user_id, bool future);
SaveDataSize ReadSaveDataSize(SaveDataType type, u64 title_id, u128 user_id) const; SaveDataSize ReadSaveDataSize(SaveDataType type, u64 title_id, u128 user_id) const;
void WriteSaveDataSize(SaveDataType type, u64 title_id, u128 user_id, void WriteSaveDataSize(SaveDataType type, u64 title_id, u128 user_id,

View File

@ -6,9 +6,9 @@
#include "common/settings.h" #include "common/settings.h"
#include "common/settings_enums.h" #include "common/settings_enums.h"
#include "core/frontend/applets/controller.h" #include "core/frontend/applets/controller.h"
#include "core/hid/emulated_controller.h" #include "hid_core/frontend/emulated_controller.h"
#include "core/hid/hid_core.h" #include "hid_core/hid_core.h"
#include "core/hid/hid_types.h" #include "hid_core/hid_types.h"
namespace Core::Frontend { namespace Core::Frontend {

View File

@ -13,7 +13,6 @@
#include "core/file_sys/patch_manager.h" #include "core/file_sys/patch_manager.h"
#include "core/file_sys/registered_cache.h" #include "core/file_sys/registered_cache.h"
#include "core/file_sys/savedata_factory.h" #include "core/file_sys/savedata_factory.h"
#include "core/hid/hid_types.h"
#include "core/hle/kernel/k_event.h" #include "core/hle/kernel/k_event.h"
#include "core/hle/kernel/k_transfer_memory.h" #include "core/hle/kernel/k_transfer_memory.h"
#include "core/hle/result.h" #include "core/hle/result.h"
@ -37,7 +36,6 @@
#include "core/hle/service/caps/caps_su.h" #include "core/hle/service/caps/caps_su.h"
#include "core/hle/service/caps/caps_types.h" #include "core/hle/service/caps/caps_types.h"
#include "core/hle/service/filesystem/filesystem.h" #include "core/hle/service/filesystem/filesystem.h"
#include "core/hle/service/hid/controllers/npad.h"
#include "core/hle/service/ipc_helpers.h" #include "core/hle/service/ipc_helpers.h"
#include "core/hle/service/ns/ns.h" #include "core/hle/service/ns/ns.h"
#include "core/hle/service/nvnflinger/fb_share_buffer_manager.h" #include "core/hle/service/nvnflinger/fb_share_buffer_manager.h"
@ -48,6 +46,8 @@
#include "core/hle/service/vi/vi.h" #include "core/hle/service/vi/vi.h"
#include "core/hle/service/vi/vi_results.h" #include "core/hle/service/vi/vi_results.h"
#include "core/memory.h" #include "core/memory.h"
#include "hid_core/hid_types.h"
#include "hid_core/resources/npad/npad.h"
namespace Service::AM { namespace Service::AM {

View File

@ -5,13 +5,13 @@
#include "common/logging/log.h" #include "common/logging/log.h"
#include "core/core.h" #include "core/core.h"
#include "core/frontend/applets/cabinet.h" #include "core/frontend/applets/cabinet.h"
#include "core/hid/hid_core.h"
#include "core/hle/kernel/k_event.h" #include "core/hle/kernel/k_event.h"
#include "core/hle/kernel/k_readable_event.h" #include "core/hle/kernel/k_readable_event.h"
#include "core/hle/service/am/am.h" #include "core/hle/service/am/am.h"
#include "core/hle/service/am/applets/applet_cabinet.h" #include "core/hle/service/am/applets/applet_cabinet.h"
#include "core/hle/service/mii/mii_manager.h" #include "core/hle/service/mii/mii_manager.h"
#include "core/hle/service/nfc/common/device.h" #include "core/hle/service/nfc/common/device.h"
#include "hid_core/hid_core.h"
namespace Service::AM::Applets { namespace Service::AM::Applets {

View File

@ -9,13 +9,13 @@
#include "common/string_util.h" #include "common/string_util.h"
#include "core/core.h" #include "core/core.h"
#include "core/frontend/applets/controller.h" #include "core/frontend/applets/controller.h"
#include "core/hid/emulated_controller.h"
#include "core/hid/hid_core.h"
#include "core/hid/hid_types.h"
#include "core/hle/result.h" #include "core/hle/result.h"
#include "core/hle/service/am/am.h" #include "core/hle/service/am/am.h"
#include "core/hle/service/am/applets/applet_controller.h" #include "core/hle/service/am/applets/applet_controller.h"
#include "core/hle/service/hid/controllers/npad.h" #include "hid_core/frontend/emulated_controller.h"
#include "hid_core/hid_core.h"
#include "hid_core/hid_types.h"
#include "hid_core/resources/npad/npad.h"
namespace Service::AM::Applets { namespace Service::AM::Applets {

View File

@ -5,14 +5,14 @@
#include "core/hle/kernel/kernel.h" #include "core/hle/kernel/kernel.h"
#include "core/hle/service/hid/hid.h" #include "core/hle/service/hid/hid.h"
#include "core/hle/service/hid/hid_debug_server.h" #include "core/hle/service/hid/hid_debug_server.h"
#include "core/hle/service/hid/hid_firmware_settings.h"
#include "core/hle/service/hid/hid_server.h" #include "core/hle/service/hid/hid_server.h"
#include "core/hle/service/hid/hid_system_server.h" #include "core/hle/service/hid/hid_system_server.h"
#include "core/hle/service/hid/hidbus.h" #include "core/hle/service/hid/hidbus.h"
#include "core/hle/service/hid/irs.h" #include "core/hle/service/hid/irs.h"
#include "core/hle/service/hid/resource_manager.h"
#include "core/hle/service/hid/xcd.h" #include "core/hle/service/hid/xcd.h"
#include "core/hle/service/server_manager.h" #include "core/hle/service/server_manager.h"
#include "hid_core/resource_manager.h"
#include "hid_core/resources/hid_firmware_settings.h"
namespace Service::HID { namespace Service::HID {

View File

@ -2,8 +2,8 @@
// SPDX-License-Identifier: GPL-3.0-or-later // SPDX-License-Identifier: GPL-3.0-or-later
#include "core/hle/service/hid/hid_debug_server.h" #include "core/hle/service/hid/hid_debug_server.h"
#include "core/hle/service/hid/resource_manager.h"
#include "core/hle/service/ipc_helpers.h" #include "core/hle/service/ipc_helpers.h"
#include "hid_core/resource_manager.h"
namespace Service::HID { namespace Service::HID {

View File

@ -5,30 +5,29 @@
#include "common/common_types.h" #include "common/common_types.h"
#include "common/logging/log.h" #include "common/logging/log.h"
#include "common/settings.h" #include "common/settings.h"
#include "core/hid/hid_core.h"
#include "core/hle/kernel/k_shared_memory.h" #include "core/hle/kernel/k_shared_memory.h"
#include "core/hle/kernel/k_transfer_memory.h" #include "core/hle/kernel/k_transfer_memory.h"
#include "core/hle/kernel/kernel.h" #include "core/hle/kernel/kernel.h"
#include "core/hle/service/hid/errors.h"
#include "core/hle/service/hid/hid_firmware_settings.h"
#include "core/hle/service/hid/hid_server.h" #include "core/hle/service/hid/hid_server.h"
#include "core/hle/service/hid/hid_util.h"
#include "core/hle/service/hid/resource_manager.h"
#include "core/hle/service/ipc_helpers.h" #include "core/hle/service/ipc_helpers.h"
#include "core/memory.h" #include "core/memory.h"
#include "hid_core/hid_result.h"
#include "hid_core/hid_util.h"
#include "hid_core/resource_manager.h"
#include "hid_core/resources/hid_firmware_settings.h"
#include "core/hle/service/hid/controllers/console_six_axis.h" #include "hid_core/resources/controller_base.h"
#include "core/hle/service/hid/controllers/controller_base.h" #include "hid_core/resources/debug_pad/debug_pad.h"
#include "core/hle/service/hid/controllers/debug_pad.h" #include "hid_core/resources/keyboard/keyboard.h"
#include "core/hle/service/hid/controllers/gesture.h" #include "hid_core/resources/mouse/mouse.h"
#include "core/hle/service/hid/controllers/keyboard.h" #include "hid_core/resources/npad/npad.h"
#include "core/hle/service/hid/controllers/mouse.h" #include "hid_core/resources/npad/npad_types.h"
#include "core/hle/service/hid/controllers/npad.h" #include "hid_core/resources/palma/palma.h"
#include "core/hle/service/hid/controllers/palma.h" #include "hid_core/resources/six_axis/console_six_axis.h"
#include "core/hle/service/hid/controllers/seven_six_axis.h" #include "hid_core/resources/six_axis/seven_six_axis.h"
#include "core/hle/service/hid/controllers/six_axis.h" #include "hid_core/resources/six_axis/six_axis.h"
#include "core/hle/service/hid/controllers/touchscreen.h" #include "hid_core/resources/touch_screen/gesture.h"
#include "core/hle/service/hid/controllers/types/npad_types.h" #include "hid_core/resources/touch_screen/touch_screen.h"
namespace Service::HID { namespace Service::HID {

View File

@ -1,15 +1,14 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later // SPDX-License-Identifier: GPL-3.0-or-later
#include "core/hid/hid_core.h"
#include "core/hle/service/hid/controllers/npad.h"
#include "core/hle/service/hid/controllers/palma.h"
#include "core/hle/service/hid/controllers/touchscreen.h"
#include "core/hle/service/hid/controllers/types/npad_types.h"
#include "core/hle/service/hid/errors.h"
#include "core/hle/service/hid/hid_system_server.h" #include "core/hle/service/hid/hid_system_server.h"
#include "core/hle/service/hid/resource_manager.h"
#include "core/hle/service/ipc_helpers.h" #include "core/hle/service/ipc_helpers.h"
#include "hid_core/hid_result.h"
#include "hid_core/resource_manager.h"
#include "hid_core/resources/npad/npad.h"
#include "hid_core/resources/npad/npad_types.h"
#include "hid_core/resources/palma/palma.h"
#include "hid_core/resources/touch_screen/touch_screen.h"
namespace Service::HID { namespace Service::HID {
@ -270,7 +269,7 @@ void IHidSystemServer::GetLastActiveNpad(HLERequestContext& ctx) {
IPC::ResponseBuilder rb{ctx, 3}; IPC::ResponseBuilder rb{ctx, 3};
rb.Push(ResultSuccess); rb.Push(ResultSuccess);
rb.PushEnum(system.HIDCore().GetLastActiveController()); rb.Push(0); // Dont forget to fix this
} }
void IHidSystemServer::ApplyNpadSystemCommonPolicyFull(HLERequestContext& ctx) { void IHidSystemServer::ApplyNpadSystemCommonPolicyFull(HLERequestContext& ctx) {

View File

@ -5,18 +5,18 @@
#include "common/settings.h" #include "common/settings.h"
#include "core/core.h" #include "core/core.h"
#include "core/core_timing.h" #include "core/core_timing.h"
#include "core/hid/hid_types.h"
#include "core/hle/kernel/k_event.h" #include "core/hle/kernel/k_event.h"
#include "core/hle/kernel/k_readable_event.h" #include "core/hle/kernel/k_readable_event.h"
#include "core/hle/kernel/k_shared_memory.h" #include "core/hle/kernel/k_shared_memory.h"
#include "core/hle/kernel/k_transfer_memory.h" #include "core/hle/kernel/k_transfer_memory.h"
#include "core/hle/service/hid/hidbus.h" #include "core/hle/service/hid/hidbus.h"
#include "core/hle/service/hid/hidbus/ringcon.h"
#include "core/hle/service/hid/hidbus/starlink.h"
#include "core/hle/service/hid/hidbus/stubbed.h"
#include "core/hle/service/ipc_helpers.h" #include "core/hle/service/ipc_helpers.h"
#include "core/hle/service/service.h" #include "core/hle/service/service.h"
#include "core/memory.h" #include "core/memory.h"
#include "hid_core/hid_types.h"
#include "hid_core/hidbus/ringcon.h"
#include "hid_core/hidbus/starlink.h"
#include "hid_core/hidbus/stubbed.h"
namespace Service::HID { namespace Service::HID {
// (15ms, 66Hz) // (15ms, 66Hz)

View File

@ -5,9 +5,9 @@
#include <functional> #include <functional>
#include "core/hle/service/hid/hidbus/hidbus_base.h"
#include "core/hle/service/kernel_helpers.h" #include "core/hle/service/kernel_helpers.h"
#include "core/hle/service/service.h" #include "core/hle/service/service.h"
#include "hid_core/hidbus/hidbus_base.h"
namespace Core::Timing { namespace Core::Timing {
struct EventType; struct EventType;

View File

@ -6,22 +6,22 @@
#include "core/core.h" #include "core/core.h"
#include "core/core_timing.h" #include "core/core_timing.h"
#include "core/hid/emulated_controller.h"
#include "core/hid/hid_core.h"
#include "core/hle/kernel/k_shared_memory.h" #include "core/hle/kernel/k_shared_memory.h"
#include "core/hle/kernel/k_transfer_memory.h" #include "core/hle/kernel/k_transfer_memory.h"
#include "core/hle/kernel/kernel.h" #include "core/hle/kernel/kernel.h"
#include "core/hle/service/hid/errors.h"
#include "core/hle/service/hid/hid_util.h"
#include "core/hle/service/hid/irs.h" #include "core/hle/service/hid/irs.h"
#include "core/hle/service/hid/irsensor/clustering_processor.h"
#include "core/hle/service/hid/irsensor/image_transfer_processor.h"
#include "core/hle/service/hid/irsensor/ir_led_processor.h"
#include "core/hle/service/hid/irsensor/moment_processor.h"
#include "core/hle/service/hid/irsensor/pointing_processor.h"
#include "core/hle/service/hid/irsensor/tera_plugin_processor.h"
#include "core/hle/service/ipc_helpers.h" #include "core/hle/service/ipc_helpers.h"
#include "core/memory.h" #include "core/memory.h"
#include "hid_core/frontend/emulated_controller.h"
#include "hid_core/hid_core.h"
#include "hid_core/hid_result.h"
#include "hid_core/hid_util.h"
#include "hid_core/irsensor/clustering_processor.h"
#include "hid_core/irsensor/image_transfer_processor.h"
#include "hid_core/irsensor/ir_led_processor.h"
#include "hid_core/irsensor/moment_processor.h"
#include "hid_core/irsensor/pointing_processor.h"
#include "hid_core/irsensor/tera_plugin_processor.h"
namespace Service::IRS { namespace Service::IRS {

View File

@ -4,10 +4,10 @@
#pragma once #pragma once
#include "core/core.h" #include "core/core.h"
#include "core/hid/hid_types.h"
#include "core/hid/irs_types.h"
#include "core/hle/service/hid/irsensor/processor_base.h"
#include "core/hle/service/service.h" #include "core/hle/service/service.h"
#include "hid_core/hid_types.h"
#include "hid_core/irsensor/irs_types.h"
#include "hid_core/irsensor/processor_base.h"
namespace Core::HID { namespace Core::HID {
class EmulatedController; class EmulatedController;

View File

@ -22,9 +22,6 @@
#include "common/string_util.h" #include "common/string_util.h"
#include "common/tiny_mt.h" #include "common/tiny_mt.h"
#include "core/core.h" #include "core/core.h"
#include "core/hid/emulated_controller.h"
#include "core/hid/hid_core.h"
#include "core/hid/hid_types.h"
#include "core/hle/kernel/k_event.h" #include "core/hle/kernel/k_event.h"
#include "core/hle/service/ipc_helpers.h" #include "core/hle/service/ipc_helpers.h"
#include "core/hle/service/mii/mii_manager.h" #include "core/hle/service/mii/mii_manager.h"
@ -33,6 +30,9 @@
#include "core/hle/service/nfc/mifare_result.h" #include "core/hle/service/nfc/mifare_result.h"
#include "core/hle/service/nfc/nfc_result.h" #include "core/hle/service/nfc/nfc_result.h"
#include "core/hle/service/time/time_manager.h" #include "core/hle/service/time/time_manager.h"
#include "hid_core/frontend/emulated_controller.h"
#include "hid_core/hid_core.h"
#include "hid_core/hid_types.h"
namespace Service::NFC { namespace Service::NFC {
NfcDevice::NfcDevice(Core::HID::NpadIdType npad_id_, Core::System& system_, NfcDevice::NfcDevice(Core::HID::NpadIdType npad_id_, Core::System& system_,

View File

@ -5,15 +5,15 @@
#include "common/logging/log.h" #include "common/logging/log.h"
#include "core/core.h" #include "core/core.h"
#include "core/hid/hid_types.h"
#include "core/hle/kernel/k_event.h" #include "core/hle/kernel/k_event.h"
#include "core/hle/service/hid/hid_util.h"
#include "core/hle/service/ipc_helpers.h" #include "core/hle/service/ipc_helpers.h"
#include "core/hle/service/nfc/common/device.h" #include "core/hle/service/nfc/common/device.h"
#include "core/hle/service/nfc/common/device_manager.h" #include "core/hle/service/nfc/common/device_manager.h"
#include "core/hle/service/nfc/nfc_result.h" #include "core/hle/service/nfc/nfc_result.h"
#include "core/hle/service/time/clock_types.h" #include "core/hle/service/time/clock_types.h"
#include "core/hle/service/time/time_manager.h" #include "core/hle/service/time/time_manager.h"
#include "hid_core/hid_types.h"
#include "hid_core/hid_util.h"
namespace Service::NFC { namespace Service::NFC {

View File

@ -8,13 +8,13 @@
#include <optional> #include <optional>
#include <span> #include <span>
#include "core/hid/hid_types.h"
#include "core/hle/service/kernel_helpers.h" #include "core/hle/service/kernel_helpers.h"
#include "core/hle/service/nfc/mifare_types.h" #include "core/hle/service/nfc/mifare_types.h"
#include "core/hle/service/nfc/nfc_types.h" #include "core/hle/service/nfc/nfc_types.h"
#include "core/hle/service/nfp/nfp_types.h" #include "core/hle/service/nfp/nfp_types.h"
#include "core/hle/service/service.h" #include "core/hle/service/service.h"
#include "core/hle/service/time/clock_types.h" #include "core/hle/service/time/clock_types.h"
#include "hid_core/hid_types.h"
namespace Service::NFC { namespace Service::NFC {
class NfcDevice; class NfcDevice;

View File

@ -3,7 +3,6 @@
#include "common/logging/log.h" #include "common/logging/log.h"
#include "core/core.h" #include "core/core.h"
#include "core/hid/hid_types.h"
#include "core/hle/kernel/k_event.h" #include "core/hle/kernel/k_event.h"
#include "core/hle/service/ipc_helpers.h" #include "core/hle/service/ipc_helpers.h"
#include "core/hle/service/nfc/common/device.h" #include "core/hle/service/nfc/common/device.h"
@ -15,6 +14,7 @@
#include "core/hle/service/nfc/nfc_types.h" #include "core/hle/service/nfc/nfc_types.h"
#include "core/hle/service/nfp/nfp_result.h" #include "core/hle/service/nfp/nfp_result.h"
#include "core/hle/service/time/clock_types.h" #include "core/hle/service/time/clock_types.h"
#include "hid_core/hid_types.h"
namespace Service::NFC { namespace Service::NFC {

View File

@ -3,7 +3,6 @@
#include "common/logging/log.h" #include "common/logging/log.h"
#include "core/core.h" #include "core/core.h"
#include "core/hid/hid_types.h"
#include "core/hle/kernel/k_event.h" #include "core/hle/kernel/k_event.h"
#include "core/hle/service/ipc_helpers.h" #include "core/hle/service/ipc_helpers.h"
#include "core/hle/service/nfc/common/device.h" #include "core/hle/service/nfc/common/device.h"
@ -12,6 +11,7 @@
#include "core/hle/service/nfp/nfp_interface.h" #include "core/hle/service/nfp/nfp_interface.h"
#include "core/hle/service/nfp/nfp_result.h" #include "core/hle/service/nfp/nfp_result.h"
#include "core/hle/service/nfp/nfp_types.h" #include "core/hle/service/nfp/nfp_types.h"
#include "hid_core/hid_types.h"
namespace Service::NFP { namespace Service::NFP {

View File

@ -9,12 +9,12 @@
#include "core/core_timing.h" #include "core/core_timing.h"
#include "core/hle/kernel/k_page_table.h" #include "core/hle/kernel/k_page_table.h"
#include "core/hle/kernel/k_process.h" #include "core/hle/kernel/k_process.h"
#include "core/hle/service/hid/controllers/npad.h"
#include "core/hle/service/hid/hid_server.h" #include "core/hle/service/hid/hid_server.h"
#include "core/hle/service/hid/resource_manager.h"
#include "core/hle/service/sm/sm.h" #include "core/hle/service/sm/sm.h"
#include "core/memory.h" #include "core/memory.h"
#include "core/memory/cheat_engine.h" #include "core/memory/cheat_engine.h"
#include "hid_core/resource_manager.h"
#include "hid_core/resources/npad/npad.h"
namespace Core::Memory { namespace Core::Memory {
namespace { namespace {

View File

@ -11,7 +11,7 @@
#include "config.h" #include "config.h"
#include "core/core.h" #include "core/core.h"
#include "core/hle/service/acc/profile_manager.h" #include "core/hle/service/acc/profile_manager.h"
#include "core/hle/service/hid/controllers/npad.h" #include "hid_core/resources/npad/npad.h"
#include "network/network.h" #include "network/network.h"
#include <boost/algorithm/string/replace.hpp> #include <boost/algorithm/string/replace.hpp>

126
src/hid_core/CMakeLists.txt Normal file
View File

@ -0,0 +1,126 @@
# SPDX-FileCopyrightText: 2018 yuzu Emulator Project
# SPDX-License-Identifier: GPL-2.0-or-later
add_library(hid_core STATIC
frontend/emulated_console.cpp
frontend/emulated_console.h
frontend/emulated_controller.cpp
frontend/emulated_controller.h
frontend/emulated_devices.cpp
frontend/emulated_devices.h
frontend/input_converter.cpp
frontend/input_converter.h
frontend/input_interpreter.cpp
frontend/input_interpreter.h
frontend/motion_input.cpp
frontend/motion_input.h
hidbus/hidbus_base.cpp
hidbus/hidbus_base.h
hidbus/ringcon.cpp
hidbus/ringcon.h
hidbus/starlink.cpp
hidbus/starlink.h
hidbus/stubbed.cpp
hidbus/stubbed.h
irsensor/clustering_processor.cpp
irsensor/clustering_processor.h
irsensor/image_transfer_processor.cpp
irsensor/image_transfer_processor.h
irsensor/ir_led_processor.cpp
irsensor/ir_led_processor.h
irsensor/moment_processor.cpp
irsensor/moment_processor.h
irsensor/pointing_processor.cpp
irsensor/pointing_processor.h
irsensor/processor_base.cpp
irsensor/processor_base.h
irsensor/tera_plugin_processor.cpp
irsensor/tera_plugin_processor.h
resources/debug_pad/debug_pad.cpp
resources/debug_pad/debug_pad.h
resources/debug_pad/debug_pad_types.h
resources/digitizer/digitizer.cpp
resources/digitizer/digitizer.h
resources/keyboard/keyboard.cpp
resources/keyboard/keyboard.h
resources/keyboard/keyboard_types.h
resources/mouse/debug_mouse.cpp
resources/mouse/debug_mouse.h
resources/mouse/mouse.cpp
resources/mouse/mouse.h
resources/mouse/mouse_types.h
resources/npad/npad.cpp
resources/npad/npad.h
resources/npad/npad_data.cpp
resources/npad/npad_data.h
resources/npad/npad_resource.cpp
resources/npad/npad_resource.h
resources/npad/npad_types.h
resources/palma/palma.cpp
resources/palma/palma.h
resources/six_axis/console_six_axis.cpp
resources/six_axis/console_six_axis.h
resources/six_axis/seven_six_axis.cpp
resources/six_axis/seven_six_axis.h
resources/six_axis/six_axis.cpp
resources/six_axis/six_axis.h
resources/system_buttons/capture_button.cpp
resources/system_buttons/capture_button.h
resources/system_buttons/home_button.cpp
resources/system_buttons/home_button.h
resources/system_buttons/sleep_button.cpp
resources/system_buttons/sleep_button.h
resources/touch_screen/gesture.cpp
resources/touch_screen/gesture.h
resources/touch_screen/gesture_types.h
resources/touch_screen/touch_screen.cpp
resources/touch_screen/touch_screen.h
resources/touch_screen/touch_types.h
resources/unique_pad/unique_pad.cpp
resources/unique_pad/unique_pad.h
resources/applet_resource.cpp
resources/applet_resource.h
resources/controller_base.cpp
resources/controller_base.h
resources/hid_firmware_settings.cpp
resources/hid_firmware_settings.h
resources/irs_ring_lifo.h
resources/ring_lifo.h
resources/shared_memory_format.h
resources/shared_memory_holder.cpp
resources/shared_memory_holder.h
hid_core.cpp
hid_core.h
hid_result.h
hid_types.h
hid_util.h
precompiled_headers.h
resource_manager.cpp
resource_manager.h
)
if (MSVC)
target_compile_options(hid_core PRIVATE
/we4242 # 'identifier': conversion from 'type1' to 'type2', possible loss of data
/we4244 # 'conversion': conversion from 'type1' to 'type2', possible loss of data
/we4245 # 'conversion': conversion from 'type1' to 'type2', signed/unsigned mismatch
/we4254 # 'operator': conversion from 'type1:field_bits' to 'type2:field_bits', possible loss of data
/we4800 # Implicit conversion from 'type' to bool. Possible information loss
)
else()
target_compile_options(hid_core PRIVATE
-Werror=conversion
-Wno-sign-conversion
-Wno-cast-function-type
$<$<CXX_COMPILER_ID:Clang>:-fsized-deallocation>
)
endif()
create_target_directory_groups(hid_core)
target_link_libraries(hid_core PUBLIC core)
if (YUZU_USE_PRECOMPILED_HEADERS)
target_precompile_headers(hid_core PRIVATE precompiled_headers.h)
endif()

View File

@ -2,8 +2,8 @@
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include "common/settings.h" #include "common/settings.h"
#include "core/hid/emulated_console.h" #include "hid_core/frontend/emulated_console.h"
#include "core/hid/input_converter.h" #include "hid_core/frontend/input_converter.h"
namespace Core::HID { namespace Core::HID {
EmulatedConsole::EmulatedConsole() = default; EmulatedConsole::EmulatedConsole() = default;

View File

@ -17,8 +17,8 @@
#include "common/point.h" #include "common/point.h"
#include "common/quaternion.h" #include "common/quaternion.h"
#include "common/vector_math.h" #include "common/vector_math.h"
#include "core/hid/hid_types.h" #include "hid_core/frontend/motion_input.h"
#include "core/hid/motion_input.h" #include "hid_core/hid_types.h"
namespace Core::HID { namespace Core::HID {
static constexpr std::size_t MaxTouchDevices = 32; static constexpr std::size_t MaxTouchDevices = 32;

View File

@ -6,9 +6,9 @@
#include "common/polyfill_ranges.h" #include "common/polyfill_ranges.h"
#include "common/thread.h" #include "common/thread.h"
#include "core/hid/emulated_controller.h" #include "hid_core/frontend/emulated_controller.h"
#include "core/hid/input_converter.h" #include "hid_core/frontend/input_converter.h"
#include "core/hle/service/hid/hid_util.h" #include "hid_core/hid_util.h"
namespace Core::HID { namespace Core::HID {
constexpr s32 HID_JOYSTICK_MAX = 0x7fff; constexpr s32 HID_JOYSTICK_MAX = 0x7fff;

View File

@ -15,9 +15,9 @@
#include "common/param_package.h" #include "common/param_package.h"
#include "common/settings.h" #include "common/settings.h"
#include "common/vector_math.h" #include "common/vector_math.h"
#include "core/hid/hid_types.h" #include "hid_core/frontend/motion_input.h"
#include "core/hid/irs_types.h" #include "hid_core/hid_types.h"
#include "core/hid/motion_input.h" #include "hid_core/irsensor/irs_types.h"
namespace Core::HID { namespace Core::HID {
const std::size_t max_emulated_controllers = 2; const std::size_t max_emulated_controllers = 2;

View File

@ -4,8 +4,8 @@
#include <algorithm> #include <algorithm>
#include <fmt/format.h> #include <fmt/format.h>
#include "core/hid/emulated_devices.h" #include "hid_core/frontend/emulated_devices.h"
#include "core/hid/input_converter.h" #include "hid_core/frontend/input_converter.h"
namespace Core::HID { namespace Core::HID {

View File

@ -14,7 +14,7 @@
#include "common/input.h" #include "common/input.h"
#include "common/param_package.h" #include "common/param_package.h"
#include "common/settings.h" #include "common/settings.h"
#include "core/hid/hid_types.h" #include "hid_core/hid_types.h"
namespace Core::HID { namespace Core::HID {
using KeyboardDevices = std::array<std::unique_ptr<Common::Input::InputDevice>, using KeyboardDevices = std::array<std::unique_ptr<Common::Input::InputDevice>,

View File

@ -5,7 +5,7 @@
#include <random> #include <random>
#include "common/input.h" #include "common/input.h"
#include "core/hid/input_converter.h" #include "hid_core/frontend/input_converter.h"
namespace Core::HID { namespace Core::HID {

View File

@ -2,12 +2,12 @@
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include "core/core.h" #include "core/core.h"
#include "core/hid/hid_types.h"
#include "core/hid/input_interpreter.h"
#include "core/hle/service/hid/controllers/npad.h"
#include "core/hle/service/hid/hid_server.h" #include "core/hle/service/hid/hid_server.h"
#include "core/hle/service/hid/resource_manager.h"
#include "core/hle/service/sm/sm.h" #include "core/hle/service/sm/sm.h"
#include "hid_core/frontend/input_interpreter.h"
#include "hid_core/hid_types.h"
#include "hid_core/resource_manager.h"
#include "hid_core/resources/npad/npad.h"
InputInterpreter::InputInterpreter(Core::System& system) InputInterpreter::InputInterpreter(Core::System& system)
: npad{system.ServiceManager() : npad{system.ServiceManager()

View File

@ -4,7 +4,7 @@
#include <cmath> #include <cmath>
#include "common/math_util.h" #include "common/math_util.h"
#include "core/hid/motion_input.h" #include "hid_core/frontend/motion_input.h"
namespace Core::HID { namespace Core::HID {

View File

@ -2,11 +2,11 @@
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include "common/assert.h" #include "common/assert.h"
#include "core/hid/emulated_console.h" #include "hid_core/frontend/emulated_console.h"
#include "core/hid/emulated_controller.h" #include "hid_core/frontend/emulated_controller.h"
#include "core/hid/emulated_devices.h" #include "hid_core/frontend/emulated_devices.h"
#include "core/hid/hid_core.h" #include "hid_core/hid_core.h"
#include "core/hle/service/hid/hid_util.h" #include "hid_core/hid_util.h"
namespace Core::HID { namespace Core::HID {

View File

@ -6,7 +6,7 @@
#include <memory> #include <memory>
#include "common/common_funcs.h" #include "common/common_funcs.h"
#include "core/hid/hid_types.h" #include "hid_core/hid_types.h"
namespace Core::HID { namespace Core::HID {
class EmulatedConsole; class EmulatedConsole;

View File

@ -3,8 +3,8 @@
#pragma once #pragma once
#include "core/hid/hid_types.h" #include "hid_core/hid_result.h"
#include "core/hle/service/hid/errors.h" #include "hid_core/hid_types.h"
namespace Service::HID { namespace Service::HID {

View File

@ -1,11 +1,11 @@
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include "core/hid/hid_core.h"
#include "core/hle/kernel/k_event.h" #include "core/hle/kernel/k_event.h"
#include "core/hle/kernel/k_readable_event.h" #include "core/hle/kernel/k_readable_event.h"
#include "core/hle/service/hid/hidbus/hidbus_base.h"
#include "core/hle/service/kernel_helpers.h" #include "core/hle/service/kernel_helpers.h"
#include "hid_core/hid_core.h"
#include "hid_core/hidbus/hidbus_base.h"
namespace Service::HID { namespace Service::HID {

View File

@ -2,12 +2,12 @@
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include "core/core.h" #include "core/core.h"
#include "core/hid/emulated_controller.h"
#include "core/hid/hid_core.h"
#include "core/hle/kernel/k_event.h" #include "core/hle/kernel/k_event.h"
#include "core/hle/kernel/k_readable_event.h" #include "core/hle/kernel/k_readable_event.h"
#include "core/hle/service/hid/hidbus/ringcon.h"
#include "core/memory.h" #include "core/memory.h"
#include "hid_core/frontend/emulated_controller.h"
#include "hid_core/hid_core.h"
#include "hid_core/hidbus/ringcon.h"
namespace Service::HID { namespace Service::HID {

View File

@ -7,7 +7,7 @@
#include <span> #include <span>
#include "common/common_types.h" #include "common/common_types.h"
#include "core/hle/service/hid/hidbus/hidbus_base.h" #include "hid_core/hidbus/hidbus_base.h"
namespace Core::HID { namespace Core::HID {
class EmulatedController; class EmulatedController;

View File

@ -1,9 +1,9 @@
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include "core/hid/emulated_controller.h" #include "hid_core/frontend/emulated_controller.h"
#include "core/hid/hid_core.h" #include "hid_core/hid_core.h"
#include "core/hle/service/hid/hidbus/starlink.h" #include "hid_core/hidbus/starlink.h"
namespace Service::HID { namespace Service::HID {
constexpr u8 DEVICE_ID = 0x28; constexpr u8 DEVICE_ID = 0x28;

View File

@ -4,7 +4,7 @@
#pragma once #pragma once
#include "common/common_types.h" #include "common/common_types.h"
#include "core/hle/service/hid/hidbus/hidbus_base.h" #include "hid_core/hidbus/hidbus_base.h"
namespace Core::HID { namespace Core::HID {
class EmulatedController; class EmulatedController;

View File

@ -1,9 +1,9 @@
// SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2021 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include "core/hid/emulated_controller.h" #include "hid_core/frontend/emulated_controller.h"
#include "core/hid/hid_core.h" #include "hid_core/hid_core.h"
#include "core/hle/service/hid/hidbus/stubbed.h" #include "hid_core/hidbus/stubbed.h"
namespace Service::HID { namespace Service::HID {
constexpr u8 DEVICE_ID = 0xFF; constexpr u8 DEVICE_ID = 0xFF;

View File

@ -4,7 +4,7 @@
#pragma once #pragma once
#include "common/common_types.h" #include "common/common_types.h"
#include "core/hle/service/hid/hidbus/hidbus_base.h" #include "hid_core/hidbus/hidbus_base.h"
namespace Core::HID { namespace Core::HID {
class EmulatedController; class EmulatedController;

View File

@ -5,9 +5,9 @@
#include "core/core.h" #include "core/core.h"
#include "core/core_timing.h" #include "core/core_timing.h"
#include "core/hid/emulated_controller.h" #include "hid_core/frontend/emulated_controller.h"
#include "core/hid/hid_core.h" #include "hid_core/hid_core.h"
#include "core/hle/service/hid/irsensor/clustering_processor.h" #include "hid_core/irsensor/clustering_processor.h"
namespace Service::IRS { namespace Service::IRS {
ClusteringProcessor::ClusteringProcessor(Core::System& system_, ClusteringProcessor::ClusteringProcessor(Core::System& system_,

View File

@ -4,9 +4,9 @@
#pragma once #pragma once
#include "common/common_types.h" #include "common/common_types.h"
#include "core/hid/irs_types.h" #include "hid_core/irsensor/irs_types.h"
#include "core/hle/service/hid/irs_ring_lifo.h" #include "hid_core/irsensor/processor_base.h"
#include "core/hle/service/hid/irsensor/processor_base.h" #include "hid_core/resources/irs_ring_lifo.h"
namespace Core { namespace Core {
class System; class System;

View File

@ -2,10 +2,10 @@
// SPDX-License-Identifier: GPL-3.0-or-later // SPDX-License-Identifier: GPL-3.0-or-later
#include "core/core.h" #include "core/core.h"
#include "core/hid/emulated_controller.h"
#include "core/hid/hid_core.h"
#include "core/hle/service/hid/irsensor/image_transfer_processor.h"
#include "core/memory.h" #include "core/memory.h"
#include "hid_core/frontend/emulated_controller.h"
#include "hid_core/hid_core.h"
#include "hid_core/irsensor/image_transfer_processor.h"
namespace Service::IRS { namespace Service::IRS {
ImageTransferProcessor::ImageTransferProcessor(Core::System& system_, ImageTransferProcessor::ImageTransferProcessor(Core::System& system_,

View File

@ -4,8 +4,8 @@
#pragma once #pragma once
#include "common/typed_address.h" #include "common/typed_address.h"
#include "core/hid/irs_types.h" #include "hid_core/irsensor/irs_types.h"
#include "core/hle/service/hid/irsensor/processor_base.h" #include "hid_core/irsensor/processor_base.h"
namespace Core { namespace Core {
class System; class System;

View File

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later // SPDX-License-Identifier: GPL-3.0-or-later
#include "core/hle/service/hid/irsensor/ir_led_processor.h" #include "hid_core/irsensor/ir_led_processor.h"
namespace Service::IRS { namespace Service::IRS {
IrLedProcessor::IrLedProcessor(Core::IrSensor::DeviceFormat& device_format) IrLedProcessor::IrLedProcessor(Core::IrSensor::DeviceFormat& device_format)

View File

@ -5,8 +5,8 @@
#include "common/bit_field.h" #include "common/bit_field.h"
#include "common/common_types.h" #include "common/common_types.h"
#include "core/hid/irs_types.h" #include "hid_core/irsensor/irs_types.h"
#include "core/hle/service/hid/irsensor/processor_base.h" #include "hid_core/irsensor/processor_base.h"
namespace Service::IRS { namespace Service::IRS {
class IrLedProcessor final : public ProcessorBase { class IrLedProcessor final : public ProcessorBase {

View File

@ -5,7 +5,7 @@
#include "common/common_funcs.h" #include "common/common_funcs.h"
#include "common/common_types.h" #include "common/common_types.h"
#include "core/hid/hid_types.h" #include "hid_core/hid_types.h"
namespace Core::IrSensor { namespace Core::IrSensor {

View File

@ -3,9 +3,9 @@
#include "core/core.h" #include "core/core.h"
#include "core/core_timing.h" #include "core/core_timing.h"
#include "core/hid/emulated_controller.h" #include "hid_core/frontend/emulated_controller.h"
#include "core/hid/hid_core.h" #include "hid_core/hid_core.h"
#include "core/hle/service/hid/irsensor/moment_processor.h" #include "hid_core/irsensor/moment_processor.h"
namespace Service::IRS { namespace Service::IRS {
static constexpr auto format = Core::IrSensor::ImageTransferProcessorFormat::Size40x30; static constexpr auto format = Core::IrSensor::ImageTransferProcessorFormat::Size40x30;

View File

@ -5,9 +5,9 @@
#include "common/bit_field.h" #include "common/bit_field.h"
#include "common/common_types.h" #include "common/common_types.h"
#include "core/hid/irs_types.h" #include "hid_core/irsensor/irs_types.h"
#include "core/hle/service/hid/irs_ring_lifo.h" #include "hid_core/irsensor/processor_base.h"
#include "core/hle/service/hid/irsensor/processor_base.h" #include "hid_core/resources/irs_ring_lifo.h"
namespace Core { namespace Core {
class System; class System;

View File

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later // SPDX-License-Identifier: GPL-3.0-or-later
#include "core/hle/service/hid/irsensor/pointing_processor.h" #include "hid_core/irsensor/pointing_processor.h"
namespace Service::IRS { namespace Service::IRS {
PointingProcessor::PointingProcessor(Core::IrSensor::DeviceFormat& device_format) PointingProcessor::PointingProcessor(Core::IrSensor::DeviceFormat& device_format)

View File

@ -4,8 +4,8 @@
#pragma once #pragma once
#include "common/common_types.h" #include "common/common_types.h"
#include "core/hid/irs_types.h" #include "hid_core/irsensor/irs_types.h"
#include "core/hle/service/hid/irsensor/processor_base.h" #include "hid_core/irsensor/processor_base.h"
namespace Service::IRS { namespace Service::IRS {
class PointingProcessor final : public ProcessorBase { class PointingProcessor final : public ProcessorBase {

View File

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later // SPDX-License-Identifier: GPL-3.0-or-later
#include "core/hle/service/hid/irsensor/processor_base.h" #include "hid_core/irsensor/processor_base.h"
namespace Service::IRS { namespace Service::IRS {

View File

@ -4,7 +4,7 @@
#pragma once #pragma once
#include "common/common_types.h" #include "common/common_types.h"
#include "core/hid/irs_types.h" #include "hid_core/irsensor/irs_types.h"
namespace Service::IRS { namespace Service::IRS {
class ProcessorBase { class ProcessorBase {

View File

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2022 yuzu Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later // SPDX-License-Identifier: GPL-3.0-or-later
#include "core/hle/service/hid/irsensor/tera_plugin_processor.h" #include "hid_core/irsensor/tera_plugin_processor.h"
namespace Service::IRS { namespace Service::IRS {
TeraPluginProcessor::TeraPluginProcessor(Core::IrSensor::DeviceFormat& device_format) TeraPluginProcessor::TeraPluginProcessor(Core::IrSensor::DeviceFormat& device_format)

View File

@ -5,8 +5,8 @@
#include "common/bit_field.h" #include "common/bit_field.h"
#include "common/common_types.h" #include "common/common_types.h"
#include "core/hid/irs_types.h" #include "hid_core/irsensor/irs_types.h"
#include "core/hle/service/hid/irsensor/processor_base.h" #include "hid_core/irsensor/processor_base.h"
namespace Service::IRS { namespace Service::IRS {
class TeraPluginProcessor final : public ProcessorBase { class TeraPluginProcessor final : public ProcessorBase {

View File

@ -0,0 +1,6 @@
// SPDX-FileCopyrightText: 2022 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later
#pragma once
#include "common/common_precompiled_headers.h"

View File

@ -4,29 +4,29 @@
#include "common/logging/log.h" #include "common/logging/log.h"
#include "core/core.h" #include "core/core.h"
#include "core/core_timing.h" #include "core/core_timing.h"
#include "core/hid/hid_core.h"
#include "core/hle/kernel/k_shared_memory.h" #include "core/hle/kernel/k_shared_memory.h"
#include "core/hle/service/hid/resource_manager.h"
#include "core/hle/service/ipc_helpers.h" #include "core/hle/service/ipc_helpers.h"
#include "hid_core/hid_core.h"
#include "hid_core/resource_manager.h"
#include "core/hle/service/hid/controllers/applet_resource.h" #include "hid_core/resources/applet_resource.h"
#include "core/hle/service/hid/controllers/capture_button.h" #include "hid_core/resources/debug_pad/debug_pad.h"
#include "core/hle/service/hid/controllers/console_six_axis.h" #include "hid_core/resources/digitizer/digitizer.h"
#include "core/hle/service/hid/controllers/debug_mouse.h" #include "hid_core/resources/keyboard/keyboard.h"
#include "core/hle/service/hid/controllers/debug_pad.h" #include "hid_core/resources/mouse/debug_mouse.h"
#include "core/hle/service/hid/controllers/digitizer.h" #include "hid_core/resources/mouse/mouse.h"
#include "core/hle/service/hid/controllers/gesture.h" #include "hid_core/resources/npad/npad.h"
#include "core/hle/service/hid/controllers/home_button.h" #include "hid_core/resources/palma/palma.h"
#include "core/hle/service/hid/controllers/keyboard.h" #include "hid_core/resources/shared_memory_format.h"
#include "core/hle/service/hid/controllers/mouse.h" #include "hid_core/resources/six_axis/console_six_axis.h"
#include "core/hle/service/hid/controllers/npad.h" #include "hid_core/resources/six_axis/seven_six_axis.h"
#include "core/hle/service/hid/controllers/palma.h" #include "hid_core/resources/six_axis/six_axis.h"
#include "core/hle/service/hid/controllers/seven_six_axis.h" #include "hid_core/resources/system_buttons/capture_button.h"
#include "core/hle/service/hid/controllers/six_axis.h" #include "hid_core/resources/system_buttons/home_button.h"
#include "core/hle/service/hid/controllers/sleep_button.h" #include "hid_core/resources/system_buttons/sleep_button.h"
#include "core/hle/service/hid/controllers/touchscreen.h" #include "hid_core/resources/touch_screen/gesture.h"
#include "core/hle/service/hid/controllers/types/shared_memory_format.h" #include "hid_core/resources/touch_screen/touch_screen.h"
#include "core/hle/service/hid/controllers/unique_pad.h" #include "hid_core/resources/unique_pad/unique_pad.h"
namespace Service::HID { namespace Service::HID {

View File

@ -3,9 +3,9 @@
#include "core/core.h" #include "core/core.h"
#include "core/hle/kernel/k_shared_memory.h" #include "core/hle/kernel/k_shared_memory.h"
#include "core/hle/service/hid/controllers/applet_resource.h" #include "hid_core/hid_result.h"
#include "core/hle/service/hid/controllers/types/shared_memory_format.h" #include "hid_core/resources/applet_resource.h"
#include "core/hle/service/hid/errors.h" #include "hid_core/resources/shared_memory_format.h"
namespace Service::HID { namespace Service::HID {

View File

@ -9,7 +9,7 @@
#include "common/bit_field.h" #include "common/bit_field.h"
#include "common/common_types.h" #include "common/common_types.h"
#include "core/hle/result.h" #include "core/hle/result.h"
#include "core/hle/service/hid/controllers/shared_memory_holder.h" #include "hid_core/resources/shared_memory_holder.h"
namespace Core { namespace Core {
class System; class System;

View File

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2018 yuzu Emulator Project
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include "core/hle/service/hid/controllers/controller_base.h" #include "hid_core/resources/controller_base.h"
namespace Service::HID { namespace Service::HID {

View File

@ -7,7 +7,7 @@
#include "common/common_types.h" #include "common/common_types.h"
#include "core/hle/result.h" #include "core/hle/result.h"
#include "core/hle/service/hid/controllers/applet_resource.h" #include "hid_core/resources/applet_resource.h"
namespace Core::Timing { namespace Core::Timing {
class CoreTiming; class CoreTiming;

View File

@ -3,12 +3,12 @@
#include "common/settings.h" #include "common/settings.h"
#include "core/core_timing.h" #include "core/core_timing.h"
#include "core/hid/emulated_controller.h" #include "hid_core/frontend/emulated_controller.h"
#include "core/hid/hid_core.h" #include "hid_core/hid_core.h"
#include "core/hid/hid_types.h" #include "hid_core/hid_types.h"
#include "core/hle/service/hid/controllers/applet_resource.h" #include "hid_core/resources/applet_resource.h"
#include "core/hle/service/hid/controllers/debug_pad.h" #include "hid_core/resources/debug_pad/debug_pad.h"
#include "core/hle/service/hid/controllers/types/shared_memory_format.h" #include "hid_core/resources/shared_memory_format.h"
namespace Service::HID { namespace Service::HID {

View File

@ -3,12 +3,13 @@
#pragma once #pragma once
#include "core/hle/service/hid/controllers/controller_base.h" #include "hid_core/resources/controller_base.h"
#include "core/hle/service/hid/controllers/types/debug_pad_types.h" #include "hid_core/resources/debug_pad/debug_pad_types.h"
namespace Core::HID { namespace Core::HID {
class HIDCore; class HIDCore;
} class EmulatedController;
} // namespace Core::HID
namespace Core::Timing { namespace Core::Timing {
class CoreTiming; class CoreTiming;

View File

@ -5,7 +5,7 @@
#include "common/bit_field.h" #include "common/bit_field.h"
#include "common/common_types.h" #include "common/common_types.h"
#include "core/hid/hid_types.h" #include "hid_core/hid_types.h"
namespace Service::HID { namespace Service::HID {

View File

@ -2,9 +2,9 @@
// SPDX-License-Identifier: GPL-2.0-or-later // SPDX-License-Identifier: GPL-2.0-or-later
#include "core/core_timing.h" #include "core/core_timing.h"
#include "core/hle/service/hid/controllers/applet_resource.h" #include "hid_core/resources/applet_resource.h"
#include "core/hle/service/hid/controllers/digitizer.h" #include "hid_core/resources/digitizer/digitizer.h"
#include "core/hle/service/hid/controllers/types/shared_memory_format.h" #include "hid_core/resources/shared_memory_format.h"
namespace Service::HID { namespace Service::HID {

View File

@ -3,7 +3,7 @@
#pragma once #pragma once
#include "core/hle/service/hid/controllers/controller_base.h" #include "hid_core/resources/controller_base.h"
namespace Service::HID { namespace Service::HID {

View File

@ -1,7 +1,7 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later // SPDX-License-Identifier: GPL-3.0-or-later
#include "core/hle/service/hid/hid_firmware_settings.h" #include "hid_core/resources/hid_firmware_settings.h"
namespace Service::HID { namespace Service::HID {

View File

@ -3,11 +3,11 @@
#include "common/settings.h" #include "common/settings.h"
#include "core/core_timing.h" #include "core/core_timing.h"
#include "core/hid/emulated_devices.h" #include "hid_core/frontend/emulated_devices.h"
#include "core/hid/hid_core.h" #include "hid_core/hid_core.h"
#include "core/hle/service/hid/controllers/applet_resource.h" #include "hid_core/resources/applet_resource.h"
#include "core/hle/service/hid/controllers/keyboard.h" #include "hid_core/resources/keyboard/keyboard.h"
#include "core/hle/service/hid/controllers/types/shared_memory_format.h" #include "hid_core/resources/shared_memory_format.h"
namespace Service::HID { namespace Service::HID {

View File

@ -3,8 +3,13 @@
#pragma once #pragma once
#include "core/hle/service/hid/controllers/controller_base.h" #include "hid_core/resources/controller_base.h"
#include "core/hle/service/hid/controllers/types/keyboard_types.h" #include "hid_core/resources/keyboard/keyboard_types.h"
namespace Core::HID {
class HIDCore;
class EmulatedDevices;
} // namespace Core::HID
namespace Service::HID { namespace Service::HID {
class Keyboard final : public ControllerBase { class Keyboard final : public ControllerBase {

View File

@ -4,7 +4,7 @@
#pragma once #pragma once
#include "common/common_types.h" #include "common/common_types.h"
#include "core/hid/hid_types.h" #include "hid_core/hid_types.h"
namespace Service::HID { namespace Service::HID {

View File

@ -3,11 +3,11 @@
#include "core/core_timing.h" #include "core/core_timing.h"
#include "core/frontend/emu_window.h" #include "core/frontend/emu_window.h"
#include "core/hid/emulated_devices.h" #include "hid_core/frontend/emulated_devices.h"
#include "core/hid/hid_core.h" #include "hid_core/hid_core.h"
#include "core/hle/service/hid/controllers/applet_resource.h" #include "hid_core/resources/applet_resource.h"
#include "core/hle/service/hid/controllers/debug_mouse.h" #include "hid_core/resources/mouse/debug_mouse.h"
#include "core/hle/service/hid/controllers/types/shared_memory_format.h" #include "hid_core/resources/shared_memory_format.h"
namespace Service::HID { namespace Service::HID {

View File

@ -3,12 +3,12 @@
#pragma once #pragma once
#include "core/hle/service/hid/controllers/controller_base.h" #include "hid_core/hid_types.h"
#include "hid_core/resources/controller_base.h"
namespace Core::HID { namespace Core::HID {
class HIDCore;
class EmulatedDevices; class EmulatedDevices;
struct MouseState;
struct AnalogStickState;
} // namespace Core::HID } // namespace Core::HID
namespace Service::HID { namespace Service::HID {

View File

@ -3,11 +3,11 @@
#include "core/core_timing.h" #include "core/core_timing.h"
#include "core/frontend/emu_window.h" #include "core/frontend/emu_window.h"
#include "core/hid/emulated_devices.h" #include "hid_core/frontend/emulated_devices.h"
#include "core/hid/hid_core.h" #include "hid_core/hid_core.h"
#include "core/hle/service/hid/controllers/applet_resource.h" #include "hid_core/resources/applet_resource.h"
#include "core/hle/service/hid/controllers/mouse.h" #include "hid_core/resources/mouse/mouse.h"
#include "core/hle/service/hid/controllers/types/shared_memory_format.h" #include "hid_core/resources/shared_memory_format.h"
namespace Service::HID { namespace Service::HID {

View File

@ -3,12 +3,12 @@
#pragma once #pragma once
#include "core/hle/service/hid/controllers/controller_base.h" #include "hid_core/hid_types.h"
#include "hid_core/resources/controller_base.h"
namespace Core::HID { namespace Core::HID {
class HIDCore;
class EmulatedDevices; class EmulatedDevices;
struct MouseState;
struct AnalogStickState;
} // namespace Core::HID } // namespace Core::HID
namespace Service::HID { namespace Service::HID {

View File

@ -12,16 +12,16 @@
#include "common/logging/log.h" #include "common/logging/log.h"
#include "common/settings.h" #include "common/settings.h"
#include "core/core_timing.h" #include "core/core_timing.h"
#include "core/hid/emulated_controller.h"
#include "core/hid/hid_core.h"
#include "core/hle/kernel/k_event.h" #include "core/hle/kernel/k_event.h"
#include "core/hle/kernel/k_readable_event.h" #include "core/hle/kernel/k_readable_event.h"
#include "core/hle/service/hid/controllers/applet_resource.h"
#include "core/hle/service/hid/controllers/npad.h"
#include "core/hle/service/hid/controllers/types/shared_memory_format.h"
#include "core/hle/service/hid/errors.h"
#include "core/hle/service/hid/hid_util.h"
#include "core/hle/service/kernel_helpers.h" #include "core/hle/service/kernel_helpers.h"
#include "hid_core/frontend/emulated_controller.h"
#include "hid_core/hid_core.h"
#include "hid_core/hid_result.h"
#include "hid_core/hid_util.h"
#include "hid_core/resources/applet_resource.h"
#include "hid_core/resources/npad/npad.h"
#include "hid_core/resources/shared_memory_format.h"
namespace Service::HID { namespace Service::HID {

View File

@ -9,10 +9,10 @@
#include <span> #include <span>
#include "common/common_types.h" #include "common/common_types.h"
#include "core/hid/hid_types.h" #include "hid_core/hid_types.h"
#include "core/hle/service/hid/controllers/controller_base.h" #include "hid_core/resources/controller_base.h"
#include "core/hle/service/hid/controllers/npad/npad_resource.h" #include "hid_core/resources/npad/npad_resource.h"
#include "core/hle/service/hid/controllers/types/npad_types.h" #include "hid_core/resources/npad/npad_types.h"
namespace Core::HID { namespace Core::HID {
class EmulatedController; class EmulatedController;

View File

@ -1,8 +1,8 @@
// SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project // SPDX-FileCopyrightText: Copyright 2023 yuzu Emulator Project
// SPDX-License-Identifier: GPL-3.0-or-later // SPDX-License-Identifier: GPL-3.0-or-later
#include "core/hle/service/hid/controllers/npad/npad_data.h" #include "hid_core/hid_util.h"
#include "core/hle/service/hid/hid_util.h" #include "hid_core/resources/npad/npad_data.h"
namespace Service::HID { namespace Service::HID {

View File

@ -7,9 +7,9 @@
#include <span> #include <span>
#include "common/common_types.h" #include "common/common_types.h"
#include "core/hid/hid_types.h"
#include "core/hle/result.h" #include "core/hle/result.h"
#include "core/hle/service/hid/controllers/types/npad_types.h" #include "hid_core/hid_types.h"
#include "hid_core/resources/npad/npad_types.h"
namespace Service::HID { namespace Service::HID {

View File

@ -3,10 +3,10 @@
#include "core/hle/kernel/k_event.h" #include "core/hle/kernel/k_event.h"
#include "core/hle/kernel/k_readable_event.h" #include "core/hle/kernel/k_readable_event.h"
#include "core/hle/service/hid/controllers/npad/npad_resource.h" #include "hid_core/hid_result.h"
#include "core/hle/service/hid/controllers/types/npad_types.h" #include "hid_core/hid_util.h"
#include "core/hle/service/hid/errors.h" #include "hid_core/resources/npad/npad_resource.h"
#include "core/hle/service/hid/hid_util.h" #include "hid_core/resources/npad/npad_types.h"
namespace Service::HID { namespace Service::HID {

Some files were not shown because too many files have changed in this diff Show More