… | |
… | |
496 | valid_keysym = keysym != NoSymbol; |
496 | valid_keysym = keysym != NoSymbol; |
497 | } |
497 | } |
498 | |
498 | |
499 | if (valid_keysym) |
499 | if (valid_keysym) |
500 | { |
500 | { |
|
|
501 | KeySym orig_keysym = keysym; |
|
|
502 | |
|
|
503 | /* Shift + F1 - F10 generates F11 - F20 */ |
|
|
504 | if (shft && keysym >= XK_F1 && keysym <= XK_F10) |
|
|
505 | { |
|
|
506 | keysym += (XK_F11 - XK_F1); |
|
|
507 | shft = 0; /* turn off Shift */ |
|
|
508 | } |
|
|
509 | |
501 | if (keysym >= 0xFF00 && keysym <= 0xFFFF) |
510 | if (keysym >= 0xFF00 && keysym <= 0xFFFF) |
502 | { |
511 | { |
503 | bool kp = priv_modes & PrivMode_aplKP ? !shft : shft; |
512 | bool kp = priv_modes & PrivMode_aplKP ? !shft : shft; |
504 | unsigned int newlen = 1; |
513 | unsigned int newlen = 1; |
505 | |
514 | |
… | |
… | |
685 | meta = 0; |
694 | meta = 0; |
686 | } |
695 | } |
687 | #endif |
696 | #endif |
688 | /* nil */ ; |
697 | /* nil */ ; |
689 | } |
698 | } |
|
|
699 | |
|
|
700 | keysym = orig_keysym; |
690 | } |
701 | } |
691 | |
702 | |
692 | /* escape prefix */ |
703 | /* escape prefix */ |
693 | if (len && meta |
704 | if (len && meta |
694 | #ifdef META8_OPTION |
705 | #ifdef META8_OPTION |
… | |
… | |
770 | #endif |
781 | #endif |
771 | } |
782 | } |
772 | |
783 | |
773 | if (shft) |
784 | if (shft) |
774 | { |
785 | { |
775 | /* Shift + F1 - F10 generates F11 - F20 */ |
|
|
776 | if (keysym >= XK_F1 && keysym <= XK_F10) |
|
|
777 | { |
|
|
778 | keysym += (XK_F11 - XK_F1); |
|
|
779 | shft = 0; /* turn off Shift */ |
|
|
780 | } |
|
|
781 | else if (!ctrl && !meta && (priv_modes & PrivMode_ShiftKeys)) |
786 | if (!ctrl && !meta && (priv_modes & PrivMode_ShiftKeys)) |
782 | { |
787 | { |
783 | switch (keysym) |
788 | switch (keysym) |
784 | { |
789 | { |
785 | /* normal XTerm key bindings */ |
790 | /* normal XTerm key bindings */ |
786 | case XK_Insert: /* Shift+Insert = paste mouse selection */ |
791 | case XK_Insert: /* Shift+Insert = paste mouse selection */ |