• Home
  • Raw
  • Download

Lines Matching full:info

62 InitAliasInfo(AliasInfo *info, enum merge_mode merge,  in InitAliasInfo()  argument
65 memset(info, 0, sizeof(*info)); in InitAliasInfo()
66 info->merge = merge; in InitAliasInfo()
67 info->alias = alias; in InitAliasInfo()
68 info->real = real; in InitAliasInfo()
72 FindLedByName(KeyNamesInfo *info, xkb_atom_t name, in FindLedByName() argument
75 for (xkb_led_index_t idx = 0; idx < info->num_led_names; idx++) { in FindLedByName()
76 LedNameInfo *ledi = &info->led_names[idx]; in FindLedByName()
87 AddLedName(KeyNamesInfo *info, enum merge_mode merge, bool same_file, in AddLedName() argument
92 const int verbosity = xkb_context_get_log_verbosity(info->ctx); in AddLedName()
97 old = FindLedByName(info, new->name, &old_idx); in AddLedName()
100 log_warn(info->ctx, in AddLedName()
103 xkb_atom_text(info->ctx, new->name)); in AddLedName()
110 log_warn(info->ctx, in AddLedName()
112 xkb_atom_text(info->ctx, new->name), use, ignore); in AddLedName()
121 if (new_idx >= info->num_led_names) in AddLedName()
122 info->num_led_names = new_idx + 1; in AddLedName()
125 old = &info->led_names[new_idx]; in AddLedName()
130 log_warn(info->ctx, "Multiple names for indicator %d; " in AddLedName()
132 xkb_atom_text(info->ctx, use), in AddLedName()
133 xkb_atom_text(info->ctx, ignore)); in AddLedName()
147 ClearKeyNamesInfo(KeyNamesInfo *info) in ClearKeyNamesInfo() argument
149 free(info->name); in ClearKeyNamesInfo()
150 darray_free(info->key_names); in ClearKeyNamesInfo()
151 darray_free(info->aliases); in ClearKeyNamesInfo()
155 InitKeyNamesInfo(KeyNamesInfo *info, struct xkb_context *ctx) in InitKeyNamesInfo() argument
157 memset(info, 0, sizeof(*info)); in InitKeyNamesInfo()
158 info->ctx = ctx; in InitKeyNamesInfo()
159 info->min_key_code = XKB_KEYCODE_INVALID; in InitKeyNamesInfo()
166 FindKeyByName(KeyNamesInfo *info, xkb_atom_t name) in FindKeyByName() argument
170 for (i = info->min_key_code; i <= info->max_key_code; i++) in FindKeyByName()
171 if (darray_item(info->key_names, i) == name) in FindKeyByName()
178 AddKeyName(KeyNamesInfo *info, xkb_keycode_t kc, xkb_atom_t name, in AddKeyName() argument
183 const int verbosity = xkb_context_get_log_verbosity(info->ctx); in AddKeyName()
187 if (kc >= darray_size(info->key_names)) in AddKeyName()
188 darray_resize0(info->key_names, kc + 1); in AddKeyName()
190 info->min_key_code = MIN(info->min_key_code, kc); in AddKeyName()
191 info->max_key_code = MAX(info->max_key_code, kc); in AddKeyName()
194 old_name = darray_item(info->key_names, kc); in AddKeyName()
196 const char *lname = KeyNameText(info->ctx, old_name); in AddKeyName()
197 const char *kname = KeyNameText(info->ctx, name); in AddKeyName()
201 log_warn(info->ctx, in AddKeyName()
209 log_warn(info->ctx, in AddKeyName()
216 log_warn(info->ctx, in AddKeyName()
219 darray_item(info->key_names, kc) = XKB_ATOM_NONE; in AddKeyName()
224 old_kc = FindKeyByName(info, name); in AddKeyName()
226 const char *kname = KeyNameText(info->ctx, name); in AddKeyName()
229 darray_item(info->key_names, old_kc) = XKB_ATOM_NONE; in AddKeyName()
231 log_warn(info->ctx, in AddKeyName()
237 log_vrb(info->ctx, 3, in AddKeyName()
244 darray_item(info->key_names, kc) = name; in AddKeyName()
251 HandleAliasDef(KeyNamesInfo *info, KeyAliasDef *def, enum merge_mode merge);
330 HandleKeycodesFile(KeyNamesInfo *info, XkbFile *file, enum merge_mode merge);
333 HandleIncludeKeycodes(KeyNamesInfo *info, IncludeStmt *include) in HandleIncludeKeycodes() argument
337 InitKeyNamesInfo(&included, info->ctx); in HandleIncludeKeycodes()
345 file = ProcessIncludeFile(info->ctx, stmt, FILE_TYPE_KEYCODES); in HandleIncludeKeycodes()
347 info->errorCount += 10; in HandleIncludeKeycodes()
352 InitKeyNamesInfo(&next_incl, info->ctx); in HandleIncludeKeycodes()
362 MergeIncludedKeycodes(info, &included, include->merge); in HandleIncludeKeycodes()
365 return (info->errorCount == 0); in HandleIncludeKeycodes()
369 HandleKeycodeDef(KeyNamesInfo *info, KeycodeDef *stmt, enum merge_mode merge) in HandleKeycodeDef() argument
379 log_err(info->ctx, in HandleKeycodeDef()
385 return AddKeyName(info, stmt->value, stmt->name, merge, false, true); in HandleKeycodeDef()
389 HandleAliasDef(KeyNamesInfo *info, KeyAliasDef *def, enum merge_mode merge) in HandleAliasDef() argument
393 darray_foreach(old, info->aliases) { in HandleAliasDef()
396 log_vrb(info->ctx, 1, in HandleAliasDef()
399 KeyNameText(info->ctx, def->alias), in HandleAliasDef()
400 KeyNameText(info->ctx, def->real)); in HandleAliasDef()
408 log_warn(info->ctx, in HandleAliasDef()
411 KeyNameText(info->ctx, old->alias), in HandleAliasDef()
412 KeyNameText(info->ctx, use), in HandleAliasDef()
413 KeyNameText(info->ctx, ignore)); in HandleAliasDef()
424 darray_append(info->aliases, new); in HandleAliasDef()
429 HandleKeyNameVar(KeyNamesInfo *info, VarDef *stmt) in HandleKeyNameVar() argument
434 if (!ExprResolveLhs(info->ctx, stmt->name, &elem, &field, &arrayNdx)) in HandleKeyNameVar()
438 log_err(info->ctx, "Unknown element %s encountered; " in HandleKeyNameVar()
444 log_err(info->ctx, "Unknown field encountered; " in HandleKeyNameVar()
454 HandleLedNameDef(KeyNamesInfo *info, LedNameDef *def, in HandleLedNameDef() argument
461 info->errorCount++; in HandleLedNameDef()
462 log_err(info->ctx, in HandleLedNameDef()
468 if (!ExprResolveString(info->ctx, def->name, &name)) { in HandleLedNameDef()
471 info->errorCount++; in HandleLedNameDef()
472 return ReportBadType(info->ctx, "indicator", "name", buf, "string"); in HandleLedNameDef()
477 return AddLedName(info, merge, true, &ledi, def->ndx - 1); in HandleLedNameDef()
481 HandleKeycodesFile(KeyNamesInfo *info, XkbFile *file, enum merge_mode merge) in HandleKeycodesFile() argument
485 free(info->name); in HandleKeycodesFile()
486 info->name = strdup_safe(file->name); in HandleKeycodesFile()
491 ok = HandleIncludeKeycodes(info, (IncludeStmt *) stmt); in HandleKeycodesFile()
494 ok = HandleKeycodeDef(info, (KeycodeDef *) stmt, merge); in HandleKeycodesFile()
497 ok = HandleAliasDef(info, (KeyAliasDef *) stmt, merge); in HandleKeycodesFile()
500 ok = HandleKeyNameVar(info, (VarDef *) stmt); in HandleKeycodesFile()
503 ok = HandleLedNameDef(info, (LedNameDef *) stmt, merge); in HandleKeycodesFile()
506 log_err(info->ctx, in HandleKeycodesFile()
514 info->errorCount++; in HandleKeycodesFile()
516 if (info->errorCount > 10) { in HandleKeycodesFile()
517 log_err(info->ctx, "Abandoning keycodes file \"%s\"\n", in HandleKeycodesFile()
527 CopyKeyNamesToKeymap(struct xkb_keymap *keymap, KeyNamesInfo *info) in CopyKeyNamesToKeymap() argument
532 min_key_code = info->min_key_code; in CopyKeyNamesToKeymap()
533 max_key_code = info->max_key_code; in CopyKeyNamesToKeymap()
547 for (kc = info->min_key_code; kc <= info->max_key_code; kc++) in CopyKeyNamesToKeymap()
548 keys[kc].name = darray_item(info->key_names, kc); in CopyKeyNamesToKeymap()
557 CopyKeyAliasesToKeymap(struct xkb_keymap *keymap, KeyNamesInfo *info) in CopyKeyAliasesToKeymap() argument
568 darray_foreach(alias, info->aliases) { in CopyKeyAliasesToKeymap()
571 log_vrb(info->ctx, 5, in CopyKeyAliasesToKeymap()
573 KeyNameText(info->ctx, alias->alias), in CopyKeyAliasesToKeymap()
574 KeyNameText(info->ctx, alias->real)); in CopyKeyAliasesToKeymap()
581 log_vrb(info->ctx, 5, in CopyKeyAliasesToKeymap()
584 KeyNameText(info->ctx, alias->alias), in CopyKeyAliasesToKeymap()
585 KeyNameText(info->ctx, alias->real)); in CopyKeyAliasesToKeymap()
602 darray_foreach(alias, info->aliases) { in CopyKeyAliasesToKeymap()
616 CopyLedNamesToKeymap(struct xkb_keymap *keymap, KeyNamesInfo *info) in CopyLedNamesToKeymap() argument
618 keymap->num_leds = info->num_led_names; in CopyLedNamesToKeymap()
619 for (xkb_led_index_t idx = 0; idx < info->num_led_names; idx++) { in CopyLedNamesToKeymap()
620 LedNameInfo *ledi = &info->led_names[idx]; in CopyLedNamesToKeymap()
632 CopyKeyNamesInfoToKeymap(struct xkb_keymap *keymap, KeyNamesInfo *info) in CopyKeyNamesInfoToKeymap() argument
635 if (!CopyKeyNamesToKeymap(keymap, info) || in CopyKeyNamesInfoToKeymap()
636 !CopyKeyAliasesToKeymap(keymap, info) || in CopyKeyNamesInfoToKeymap()
637 !CopyLedNamesToKeymap(keymap, info)) in CopyKeyNamesInfoToKeymap()
640 keymap->keycodes_section_name = strdup_safe(info->name); in CopyKeyNamesInfoToKeymap()
651 KeyNamesInfo info; in CompileKeycodes() local
653 InitKeyNamesInfo(&info, keymap->ctx); in CompileKeycodes()
655 HandleKeycodesFile(&info, file, merge); in CompileKeycodes()
656 if (info.errorCount != 0) in CompileKeycodes()
659 if (!CopyKeyNamesInfoToKeymap(keymap, &info)) in CompileKeycodes()
662 ClearKeyNamesInfo(&info); in CompileKeycodes()
666 ClearKeyNamesInfo(&info); in CompileKeycodes()