iPhone 5C returns different input values than iPad

I’ve come across something curious. An iPhone 5C return action_id “touch”, “nil” and “touch_multi”. An iPad, however, only returns “touch_multi”. Is this expected? Can I configure it to be consistent somehow?

These are my input settings:

A little more info. Using pprint( self, action_id, action ) on the iPhone returns all these, one after the other:

iPhone touch_multi:

Script: 0x0467a1c0,
hash: [touch_multi],
{ --[[0x45abc50]]
  x = 316.640625,
  touch = { --[[0x359bd30]]
    1 = { --[[0x359bd80]]
      x = 316,
      tap_count = 2,
      pressed = false,
      y = 567,
      screen_y = 426,
      screen_dy = 0,
      screen_dx = 0,
      dx = 0,
      dy = 0,
      id = 0,
      released = false,
      screen_x = 289
    },
    2 = { --[[0x359bdb0]]
      x = 588,
      tap_count = 1,
      pressed = false,
      y = 650,
      screen_y = 488,
      screen_dy = -1,
      screen_dx = 1,
      dx = 1,
      dy = -1,
      id = 1,
      released = false,
      screen_x = 538
    },
    3 = { --[[0x35c4d50]]
      x = 81,
      tap_count = 1,
      pressed = false,
      y = 94,
      screen_y = 71,
      screen_dy = 0,
      screen_dx = 0,
      dx = 0,
      dy = 0,
      id = 2,
      released = false,
      screen_x = 74
    },
    4 = { --[[0x35c4f10]]
      x = 193,
      tap_count = 1,
      pressed = false,
      y = 324,
      screen_y = 244,
      screen_dy = 0,
      screen_dx = 0,
      dx = 0,
      dy = 0,
      id = 3,
      released = false,
      screen_x = 176
    }
  },
  pressed = false,
  y = 567.83276367188,
  screen_y = 426,
  screen_dy = 0,
  screen_dx = 0,
  screen_x = 289,
  value = 1,
  dx = 0,
  repeated = false,
  released = false,
  dy = 0
}

iPhone nil(?)

GuiScript: 0x03593bd0,
nil,
{ --[[0x92f9200]]
  x = 160.234375,
  id = -1,
  screen_dy = -34,
  screen_y = 210,
  dx = -32.8125,
  dy = -45.373237609863,
  y = 279.57922363281,
  screen_dx = -30,
  screen_x = 146
}

iPhone touch:

GuiScript: 0x03593bd0,
hash: [touch],
{ --[[0x92f9340]]
  x = 160.234375,
  pressed = true,
  y = 279.57922363281,
  screen_y = 210,
  id = -1,
  screen_dy = -34,
  screen_dx = -30,
  screen_x = 146,
  dx = -32.8125,
  value = 1,
  repeated = true,
  released = false,
  dy = -45.373237609863
}

iPad, just touch_multi:

Script: 0x01112a53a0,
hash: [touch_multi],
{ --[[0x1113d6490]]
  x = 577.63671875,
  touch = { --[[0x1113d6670]]
    1 = { --[[0x1113d66e0]]
      x = 577,
      tap_count = 1,
      pressed = false,
      y = 650,
      screen_y = 879,
      screen_dy = 0,
      screen_dx = 0,
      dx = 0,
      dy = 0,
      id = 0,
      released = true,
      screen_x = 1267
    },
    2 = { --[[0x1113d6990]]
      x = 476,
      tap_count = 1,
      pressed = false,
      y = 571,
      screen_y = 773,
      screen_dy = 0,
      screen_dx = 0,
      dx = 0,
      dy = 0,
      id = 1,
      released = true,
      screen_x = 1045
    },
    3 = { --[[0x1113d6b70]]
      x = 414,
      tap_count = 1,
      pressed = false,
      y = 371,
      screen_y = 502,
      screen_dy = -16,
      screen_dx = 15,
      dx = 6,
      dy = -11,
      id = 2,
      released = true,
      screen_x = 908
    }
  },
  pressed = false,
  y = 650.2958984375,
  screen_y = 879,
  screen_dy = 0,
  screen_dx = 0,
  screen_x = 1267,
  value = 0,
  dx = 0,
  repeated = false,
  released = true,
  dy = 0
}

I don’t think the device matters. The question is which iOS version you have on the devices?

Interesting. iPhone is 10.3.3, iPad is 12.4.5.