MCPcopy Create free account
hub / github.com/BlitterStudio/amiberry / inputdevice_get_mapping

Function inputdevice_get_mapping

src/inputdevice.cpp:9223–9278  ·  view source on GitHub ↗

return mapped event from devnum/num/sub

Source from the content-addressed store, hash-verified

9221
9222// return mapped event from devnum/num/sub
9223int inputdevice_get_mapping (int devnum, int num, uae_u64 *pflags, int *pport, TCHAR *name, TCHAR *custom, int sub)
9224{
9225 const struct inputdevice_functions *idf = getidf (devnum);
9226 const struct uae_input_device *uid = get_uid (idf, inputdevice_get_device_index (devnum));
9227 int port, data;
9228 uae_u64 flags = 0, flag;
9229 int devindex = inputdevice_get_device_index (devnum);
9230 TCHAR *customp = NULL;
9231
9232 if (name)
9233 _tcscpy (name, _T("<none>"));
9234 if (custom)
9235 custom[0] = 0;
9236 if (pflags)
9237 *pflags = 0;
9238 if (pport)
9239 *pport = 0;
9240 if (uid == 0 || num < 0)
9241 return 0;
9242 if (get_event_data (idf, devindex, num, &data, &customp, &flag, &port, sub) < 0)
9243 return 0;
9244 if (customp && custom)
9245 _tcscpy (custom, customp);
9246 if (flag & ID_FLAG_AUTOFIRE)
9247 flags |= IDEV_MAPPED_AUTOFIRE_SET;
9248 if (flag & ID_FLAG_TOGGLE)
9249 flags |= IDEV_MAPPED_TOGGLE;
9250 if (flag & ID_FLAG_INVERTTOGGLE)
9251 flags |= IDEV_MAPPED_INVERTTOGGLE;
9252 if (flag & ID_FLAG_INVERT)
9253 flags |= IDEV_MAPPED_INVERT;
9254 if (flag & ID_FLAG_GAMEPORTSCUSTOM1)
9255 flags |= IDEV_MAPPED_GAMEPORTSCUSTOM1;
9256 if (flag & ID_FLAG_GAMEPORTSCUSTOM2)
9257 flags |= IDEV_MAPPED_GAMEPORTSCUSTOM2;
9258 if (flag & ID_FLAG_QUALIFIER_MASK)
9259 flags |= flag & ID_FLAG_QUALIFIER_MASK;
9260 if (flag & ID_FLAG_SET_ONOFF)
9261 flags |= IDEV_MAPPED_SET_ONOFF;
9262 if (flag & ID_FLAG_SET_ONOFF_VAL1)
9263 flags |= IDEV_MAPPED_SET_ONOFF_VAL1;
9264 if (flag & ID_FLAG_SET_ONOFF_VAL2)
9265 flags |= IDEV_MAPPED_SET_ONOFF_VAL2;
9266 if (pflags)
9267 *pflags = flags;
9268 if (pport)
9269 *pport = port;
9270 if (!data)
9271 return 0;
9272 if (events[data].allow_mask & AM_AF)
9273 flags |= IDEV_MAPPED_AUTOFIRE_POSSIBLE;
9274 if (pflags)
9275 *pflags = flags;
9276 inputdevice_get_eventname (&events[data], name);
9277 return data;
9278}
9279
9280// set event name/custom/flags to devnum/num/sub

Calls 5

getidfFunction · 0.85
get_uidFunction · 0.85
get_event_dataFunction · 0.85

Tested by

no test coverage detected