Input: rename DeviceIntRec->isMaster to ->type.
isMaster is not enough as long as we differ between master pointers and keyboard. With flexible device classes, the usual checks for whether a master device is a pointer (currently check for ->button, ->valuators or ->key) do not work as an SD may post an event through a master and mess this check up. Example, a device with valuators but no buttons would remove the button class from the VCP and thus result in the IsPointerDevice(inputInfo.pointer) == FALSE. This will become worse in the future when new device classes are introduced that aren't provided in the current system (e.g. a switch class). This patch replaces isMaster with "type", one of SLAVE, MASTER_POINTER and MASTER_KEYBOARD. All checks for dev->isMaster are replaced with an IsMaster(dev).
This commit is contained in:
@@ -268,9 +268,9 @@ change_modmap(ClientPtr client, DeviceIntPtr dev, KeyCode *modkeymap,
|
||||
do_modmap_change(client, dev, modmap);
|
||||
|
||||
/* Change any attached masters/slaves. */
|
||||
if (dev->isMaster) {
|
||||
if (IsMaster(dev)) {
|
||||
for (tmp = inputInfo.devices; tmp; tmp = tmp->next) {
|
||||
if (!tmp->isMaster && tmp->u.master == dev)
|
||||
if (!IsMaster(tmp) && tmp->u.master == dev)
|
||||
if (check_modmap_change_slave(client, dev, tmp, modmap))
|
||||
do_modmap_change(client, tmp, modmap);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user