… | |
… | |
779 | len = strlen (kbuf); |
779 | len = strlen (kbuf); |
780 | |
780 | |
781 | if (len > 0) |
781 | if (len > 0) |
782 | { |
782 | { |
783 | /* |
783 | /* |
784 | * Pass meta for all function keys, if 'meta' option set |
|
|
785 | */ |
|
|
786 | #ifdef META8_OPTION |
|
|
787 | if (meta && (meta_char == 0x80)) |
|
|
788 | kbuf[len - 1] |= 0x80; |
|
|
789 | #endif |
|
|
790 | |
|
|
791 | /* |
|
|
792 | * pass Shift/Control indicators for function keys ending with `~' |
784 | * pass Shift/Control indicators for function keys ending with `~' |
793 | * |
785 | * |
794 | * eg, |
786 | * eg, |
795 | * Prior = "ESC[5~" |
787 | * Prior = "ESC[5~" |
796 | * Shift+Prior = "ESC[5$" |
788 | * Shift+Prior = "ESC[5$" |
797 | * Ctrl+Prior = "ESC[5^" |
789 | * Ctrl+Prior = "ESC[5^" |
798 | * Ctrl+Shift+Prior = "ESC[5@" |
790 | * Ctrl+Shift+Prior = "ESC[5@" |
799 | */ |
791 | */ |
800 | if (kbuf[0] == C0_ESC && kbuf[1] == '[' && kbuf[len - 1] == '~') |
792 | if (kbuf[0] == C0_ESC && kbuf[1] == '[' && kbuf[len - 1] == '~') |
801 | kbuf[len - 1] = (shft ? (ctrl ? '@' : '$') : (ctrl ? '^' : '~')); |
793 | kbuf[len - 1] = (shft ? (ctrl ? '@' : '$') : (ctrl ? '^' : '~')); |
|
|
794 | |
|
|
795 | /* |
|
|
796 | * Pass meta for all function keys, if 'meta' option set |
|
|
797 | */ |
|
|
798 | #ifdef META8_OPTION |
|
|
799 | if (meta && (meta_char == 0x80)) |
|
|
800 | kbuf[len - 1] |= 0x80; |
|
|
801 | #endif |
802 | } |
802 | } |
803 | |
803 | |
804 | } |
804 | } |
805 | else if (ctrl && keysym == XK_minus) |
805 | else if (ctrl && keysym == XK_minus) |
806 | { |
806 | { |