diff --git a/src/core/hle/service/hid/hid.cpp b/src/core/hle/service/hid/hid.cpp
index 29213e0feb..72e2d63e30 100644
--- a/src/core/hle/service/hid/hid.cpp
+++ b/src/core/hle/service/hid/hid.cpp
@@ -156,7 +156,7 @@ void TouchUpdateComplete() {
     current_touch_entry->y = next_touch_y;
 
     // TODO(bunnei): Verify this behavior on real hardware
-    current_touch_entry->data_valid = (next_touch_x || next_touch_y) ? 1 : 0;
+    current_touch_entry->valid = (next_touch_x || next_touch_y) ? 1 : 0;
 
     // TODO(bunnei): We're not doing anything with offset 0xA8 + 0x18 of HID SharedMemory, which
     // supposedly is "Touch-screen entry, which contains the raw coordinate data prior to being
diff --git a/src/core/hle/service/hid/hid.h b/src/core/hle/service/hid/hid.h
index e4665a43cb..7fdf5828a2 100644
--- a/src/core/hle/service/hid/hid.h
+++ b/src/core/hle/service/hid/hid.h
@@ -80,9 +80,9 @@ struct PadDataEntry {
  * Structure of a single entry of touch state history within HID shared memory
  */
 struct TouchDataEntry {
-    u16 x;
-    u16 y;
-    u32 data_valid;
+    u16 x;                   ///< Y-coordinate of a touchpad press on the lower screen
+    u16 y;                   ///< X-coordinate of a touchpad press on the lower screen
+    BitField<0,7,u32> valid; ///< Set to 1 when this entry contains actual X/Y data, otherwise 0
 };
 
 /**