Lines Matching refs:group
56 struct libinput_tablet_pad_mode_group *group,
76 pad_led_group_get_mode(struct pad_led_group *group)
83 list_for_each(led, &group->led_list, link) {
116 pad_led_new(struct libinput *libinput, const char *prefix, int group, int mode)
128 * where 0 and 1 are group and mode index. */
133 group,
157 struct pad_led_group *group = (struct pad_led_group *)g;
161 list_for_each_safe(button, &group->toggle_button_list, link)
164 list_for_each_safe(led, &group->led_list, link)
167 free(group);
175 struct pad_led_group *group;
177 group = zalloc(sizeof *group);
178 group->base.device = &pad->device->base;
179 group->base.refcount = 1;
180 group->base.index = group_index;
181 group->base.current_mode = 0;
182 group->base.num_modes = nleds;
183 group->base.destroy = pad_led_group_destroy;
184 list_init(&group->toggle_button_list);
185 list_init(&group->led_list);
187 return group;
205 struct pad_led_group *group;
208 group = pad_group_new_basic(pad, group_index, nleds);
209 if (!group)
219 list_insert(&group->led_list, &led->link);
222 rc = pad_led_group_get_mode(group);
228 group->base.current_mode = rc;
230 return group;
235 "unable to init LED group: %s\n",
237 pad_led_group_destroy(&group->base);
285 struct pad_led_group *group;
293 only needs the group + mode appended */
306 group = pad_group_new(pad, i, nmodes, syspath);
307 if (!group)
309 list_insert(&pad->modes.mode_group_list, &group->base.link);
313 group = pad_group_new(pad, i, nmodes, syspath);
314 if (!group)
316 list_insert(&pad->modes.mode_group_list, &group->base.link);
320 group = pad_group_new(pad, i, nmodes, syspath);
321 if (!group)
323 list_insert(&pad->modes.mode_group_list, &group->base.link);
328 group = pad_group_new(pad, i, nmodes, syspath);
329 if (!group)
331 list_insert(&pad->modes.mode_group_list, &group->base.link);
344 struct libinput_tablet_pad_mode_group *group;
346 list_for_each(group, &pad->modes.mode_group_list, link) {
347 if (group->index == index)
348 return group;
384 struct libinput_tablet_pad_mode_group *group;
398 * button's group idx */
410 group = pad_get_mode_group(pad, group_idx);
411 if (!group) {
413 "Failed to find group %d for button %i\n",
419 group->button_mask |= bit(i);
425 b = pad_mode_toggle_button_new(pad, group, i);
428 g = (struct pad_led_group*)group;
430 group->toggle_button_mask |= bit(i);
440 struct libinput_tablet_pad_mode_group *group;
451 group = pad_get_mode_group(pad, i);
452 group->ring_mask |= 0x1;
455 group = pad_get_mode_group(pad, i);
456 group->ring_mask |= 0x2;
467 struct libinput_tablet_pad_mode_group *group;
478 group = pad_get_mode_group(pad, i);
479 group->strip_mask |= 0x1;
482 group = pad_get_mode_group(pad, i);
483 group->strip_mask |= 0x2;
537 struct pad_led_group *group;
539 group = pad_group_new_basic(pad, 0, 1);
540 if (!group)
543 /* If we only have one group, all buttons/strips/rings are part of
544 * that group. We rely on the other layers to filter out invalid
546 group->base.button_mask = -1;
547 group->base.strip_mask = -1;
548 group->base.ring_mask = -1;
549 group->base.toggle_button_mask = 0;
551 list_insert(&pad->modes.mode_group_list, &group->base.link);
571 /* If libwacom fails, we init one fallback group anyway */
584 struct libinput_tablet_pad_mode_group *group;
586 list_for_each_safe(group, &pad->modes.mode_group_list, link)
587 libinput_tablet_pad_mode_group_unref(group);
595 struct pad_led_group *group = (struct pad_led_group*)g;
604 rc = pad_led_group_get_mode(group);
606 group->base.current_mode = rc;
613 struct libinput_tablet_pad_mode_group *group;
619 list_for_each(group, &pad->modes.mode_group_list, link)