… | |
… | |
639 | rxvt_define_key (XrmDatabase *database ecb_unused, |
639 | rxvt_define_key (XrmDatabase *database ecb_unused, |
640 | XrmBindingList bindings ecb_unused, |
640 | XrmBindingList bindings ecb_unused, |
641 | XrmQuarkList quarks, |
641 | XrmQuarkList quarks, |
642 | XrmRepresentation *type ecb_unused, |
642 | XrmRepresentation *type ecb_unused, |
643 | XrmValue *value, |
643 | XrmValue *value, |
644 | XPointer closure ecb_unused) |
644 | XPointer closure) |
645 | { |
645 | { |
|
|
646 | rxvt_term *term = (rxvt_term *)closure; |
646 | int last; |
647 | int last; |
647 | |
648 | |
648 | for (last = 0; quarks[last] != NULLQUARK; last++) /* look for last quark in list */ |
649 | for (last = 0; quarks[last] != NULLQUARK; last++) /* look for last quark in list */ |
649 | ; |
650 | ; |
650 | |
651 | |
651 | last--; |
652 | last--; |
652 | GET_R->parse_keysym (XrmQuarkToString (quarks[last]), (char *)value->addr);//D//TODO |
653 | term->parse_keysym (XrmQuarkToString (quarks[last]), (char *)value->addr); |
653 | return False; |
654 | return False; |
654 | } |
655 | } |
655 | |
656 | |
656 | /* |
657 | /* |
657 | * look for something like this (XK_Delete) |
658 | * look for something like this (XK_Delete) |
… | |
… | |
742 | } |
743 | } |
743 | |
744 | |
744 | wchar_t *ws = rxvt_mbstowcs (arg); |
745 | wchar_t *ws = rxvt_mbstowcs (arg); |
745 | if (!HOOK_INVOKE ((this, HOOK_REGISTER_COMMAND, DT_INT, sym, DT_INT, state, DT_WCS_LEN, ws, wcslen (ws), DT_END))) |
746 | if (!HOOK_INVOKE ((this, HOOK_REGISTER_COMMAND, DT_INT, sym, DT_INT, state, DT_WCS_LEN, ws, wcslen (ws), DT_END))) |
746 | keyboard->register_user_translation (sym, state, ws); |
747 | keyboard->register_user_translation (sym, state, ws); |
|
|
748 | |
747 | free (ws); |
749 | free (ws); |
748 | return 1; |
750 | return 1; |
749 | } |
751 | } |
750 | |
752 | |
751 | # endif /* KEYSYM_RESOURCE */ |
753 | # endif /* KEYSYM_RESOURCE */ |
… | |
… | |
848 | class_prefix[0] = XrmStringToName (RESCLASS); |
850 | class_prefix[0] = XrmStringToName (RESCLASS); |
849 | class_prefix[1] = XrmStringToName ("Keysym"); |
851 | class_prefix[1] = XrmStringToName ("Keysym"); |
850 | class_prefix[2] = NULLQUARK; |
852 | class_prefix[2] = NULLQUARK; |
851 | /* XXX: Need to check sizeof (rxvt_t) == sizeof (XPointer) */ |
853 | /* XXX: Need to check sizeof (rxvt_t) == sizeof (XPointer) */ |
852 | XrmEnumerateDatabase (database, name_prefix, class_prefix, |
854 | XrmEnumerateDatabase (database, name_prefix, class_prefix, |
853 | XrmEnumOneLevel, rxvt_define_key, NULL); |
855 | XrmEnumOneLevel, rxvt_define_key, (XPointer)this); |
854 | # ifdef RESFALLBACK |
856 | # ifdef RESFALLBACK |
855 | name_prefix[0] = class_prefix[0] = XrmStringToName (RESFALLBACK); |
857 | name_prefix[0] = class_prefix[0] = XrmStringToName (RESFALLBACK); |
856 | /* XXX: Need to check sizeof (rxvt_t) == sizeof (XPointer) */ |
858 | /* XXX: Need to check sizeof (rxvt_t) == sizeof (XPointer) */ |
857 | XrmEnumerateDatabase (database, name_prefix, class_prefix, |
859 | XrmEnumerateDatabase (database, name_prefix, class_prefix, |
858 | XrmEnumOneLevel, rxvt_define_key, NULL); |
860 | XrmEnumOneLevel, rxvt_define_key, (XPointer)this); |
859 | # endif |
861 | # endif |
860 | # endif |
862 | # endif |
861 | |
863 | |
862 | #endif /* NO_RESOURCES */ |
864 | #endif /* NO_RESOURCES */ |
863 | } |
865 | } |