… | |
… | |
584 | * Define key from XrmEnumerateDatabase. |
584 | * Define key from XrmEnumerateDatabase. |
585 | * quarks will be something like |
585 | * quarks will be something like |
586 | * "rxvt" "keysym" "0xFF01" |
586 | * "rxvt" "keysym" "0xFF01" |
587 | * value will be a string |
587 | * value will be a string |
588 | */ |
588 | */ |
589 | int |
589 | static int |
590 | rxvt_define_key (XrmDatabase *database ecb_unused, |
590 | rxvt_define_key (XrmDatabase *database ecb_unused, |
591 | XrmBindingList bindings ecb_unused, |
591 | XrmBindingList bindings ecb_unused, |
592 | XrmQuarkList quarks, |
592 | XrmQuarkList quarks, |
593 | XrmRepresentation *type ecb_unused, |
593 | XrmRepresentation *type ecb_unused, |
594 | XrmValue *value, |
594 | XrmValue *value, |
… | |
… | |
663 | // parse modifiers |
663 | // parse modifiers |
664 | while (str < key) |
664 | while (str < key) |
665 | { |
665 | { |
666 | unsigned int i; |
666 | unsigned int i; |
667 | |
667 | |
668 | for (i=0; i < ecb_array_length (keysym_vocabulary); ++i) |
668 | for (i = 0; i < ecb_array_length (keysym_vocabulary); ++i) |
669 | { |
669 | { |
670 | if (strncmp (str, keysym_vocabulary [i].name, keysym_vocabulary [i].len) == 0) |
670 | if (strncmp (str, keysym_vocabulary [i].name, keysym_vocabulary [i].len) == 0) |
671 | { |
671 | { |
672 | state |= keysym_vocabulary[i].value; |
672 | state |= keysym_vocabulary[i].value; |
673 | str += keysym_vocabulary[i].len; |
673 | str += keysym_vocabulary[i].len; |
… | |
… | |
690 | sym = strtol (str, &end, 16); |
690 | sym = strtol (str, &end, 16); |
691 | if (*end) |
691 | if (*end) |
692 | return -1; |
692 | return -1; |
693 | } |
693 | } |
694 | |
694 | |
|
|
695 | wchar_t *ws = rxvt_mbstowcs (arg); |
695 | keyboard->register_user_translation (sym, state, arg); |
696 | keyboard->register_user_translation (sym, state, ws); |
|
|
697 | free (ws); |
696 | return 1; |
698 | return 1; |
697 | } |
699 | } |
698 | |
700 | |
699 | # endif /* KEYSYM_RESOURCE */ |
701 | # endif /* KEYSYM_RESOURCE */ |
700 | #endif /* NO_RESOURCES */ |
702 | #endif /* NO_RESOURCES */ |