ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/command.C
(Generate patch)

Comparing rxvt-unicode/src/command.C (file contents):
Revision 1.52 by pcg, Sun Feb 22 10:37:54 2004 UTC vs.
Revision 1.56 by pcg, Tue Feb 24 00:02:44 2004 UTC

110 SET_LOCALE (locale); 110 SET_LOCALE (locale);
111 111
112 if (status_return == XLookupChars 112 if (status_return == XLookupChars
113 || status_return == XLookupBoth) 113 || status_return == XLookupBoth)
114 { 114 {
115 /* make sure the user can type ctrl-@, i.e. NUL */
116 if (len == 1 && *wkbuf == 0)
117 {
118 kbuf[0] = 0;
119 len = 1;
120 }
121 else
122 {
115 wkbuf[len] = 0; 123 wkbuf[len] = 0;
116 len = wcstombs ((char *)kbuf, wkbuf, KBUFSZ); 124 len = wcstombs ((char *)kbuf, wkbuf, KBUFSZ);
117 if (len < 0) 125 if (len < 0)
118 len = 0; 126 len = 0;
127 }
119 } 128 }
120 else 129 else
121 len = 0; 130 len = 0;
122 } 131 }
123 132
653 kbuf[len - 1] = (shft ? (ctrl ? '@' : '$') : (ctrl ? '^' : '~')); 662 kbuf[len - 1] = (shft ? (ctrl ? '@' : '$') : (ctrl ? '^' : '~'));
654 663
655 /* escape prefix */ 664 /* escape prefix */
656 if (meta 665 if (meta
657#ifdef META8_OPTION 666#ifdef META8_OPTION
658 && (meta_char == C0_ESC) 667 && meta_char == C0_ESC
659#endif 668#endif
660 ) 669 )
661 { 670 {
662 const unsigned char ch = C0_ESC; 671 const unsigned char ch = C0_ESC;
663
664 tt_write (&ch, 1); 672 tt_write (&ch, 1);
665 } 673 }
674
666#ifdef DEBUG_CMD 675#if defined(DEBUG_CMD)
667 if (debug_key)
668 { /* Display keyboard buffer contents */ 676 /* Display keyboard buffer contents */
669 char *p; 677 unsigned char *p;
670 int i; 678 int i;
671 679
672 fprintf (stderr, "key 0x%04X [%d]: `", (unsigned int)keysym, len); 680 fprintf (stderr, "key 0x%04X [%d]: `", (unsigned int)keysym, len);
673 for (i = 0, p = kbuf; i < len; i++, p++) 681 for (i = 0, p = kbuf; i < len; i++, p++)
674 fprintf (stderr, (*p >= ' ' && *p < '\177' ? "%c" : "\\%03o"), *p); 682 fprintf (stderr, (*p >= ' ' && *p < '\177' ? "%c" : "\\%03o"), *p);
675 fprintf (stderr, "'\n"); 683 fprintf (stderr, "'\n");
676 }
677#endif /* DEBUG_CMD */ 684#endif /* DEBUG_CMD */
678 tt_write (kbuf, (unsigned int)len); 685 tt_write (kbuf, (unsigned int)len);
679} 686}
680/*}}} */ 687/*}}} */
681 688
997 pointer_blank (); 1004 pointer_blank ();
998} 1005}
999#endif 1006#endif
1000 1007
1001void 1008void
1002rxvt_term::mouse_report (const XButtonEvent &ev) 1009rxvt_term::mouse_report (XButtonEvent &ev)
1003{ 1010{
1004 int button_number, key_state = 0; 1011 int button_number, key_state = 0;
1005 int x, y; 1012 int x, y;
1006 1013
1007 x = ev.x; 1014 x = ev.x;
1008 y = ev.y; 1015 y = ev.y;
1009 pixel_position (&x, &y); 1016 pixel_position (&x, &y);
1010 1017
1415 pointer_unblank (); 1422 pointer_unblank ();
1416#endif 1423#endif
1417#if MENUBAR 1424#if MENUBAR
1418 if (isMenuBarWindow (ev.xany.window)) 1425 if (isMenuBarWindow (ev.xany.window))
1419 { 1426 {
1420 menubar_control (& (ev.xbutton)); 1427 menubar_control (ev.xbutton);
1421 break; 1428 break;
1422 } 1429 }
1423#endif 1430#endif
1424 if ((PrivateModes & PrivMode_mouse_report) && ! (bypass_keystate)) 1431 if ((PrivateModes & PrivMode_mouse_report) && ! (bypass_keystate))
1425 break; 1432 break;
1554#endif 1561#endif
1555 } 1562 }
1556} 1563}
1557 1564
1558void 1565void
1559rxvt_term::button_press (const XButtonEvent &ev) 1566rxvt_term::button_press (XButtonEvent &ev)
1560{ 1567{
1561 int reportmode = 0, clickintime; 1568 int reportmode = 0, clickintime;
1562 1569
1563 bypass_keystate = ev.state & (ModMetaMask | ShiftMask); 1570 bypass_keystate = ev.state & (ModMetaMask | ShiftMask);
1564 if (!bypass_keystate) 1571 if (!bypass_keystate)
1792 menubar_control (ev); 1799 menubar_control (ev);
1793#endif 1800#endif
1794} 1801}
1795 1802
1796void 1803void
1797rxvt_term::button_release (const XButtonEvent &ev) 1804rxvt_term::button_release (XButtonEvent &ev)
1798{ 1805{
1799 int reportmode = 0; 1806 int reportmode = 0;
1800 1807
1801 csrO = 0; /* reset csr Offset */ 1808 csrO = 0; /* reset csr Offset */
1802 if (!bypass_keystate) 1809 if (!bypass_keystate)
3075 break; 3082 break;
3076 case XTerm_font: 3083 case XTerm_font:
3077 change_font (str); 3084 change_font (str);
3078 break; 3085 break;
3079 case XTerm_locale: 3086 case XTerm_locale:
3087 if (str[0] == '?' && !str[1])
3088 tt_printf ("%-.250s\n", locale);
3089 else
3090 {
3080 set_locale (str); 3091 set_locale (str);
3081 im_cb (); 3092 im_cb ();
3093 }
3082 break; 3094 break;
3083#if 0 3095#if 0
3084 case XTerm_dumpscreen: /* no error notices */ 3096 case XTerm_dumpscreen: /* no error notices */
3085 { 3097 {
3086 int fd; 3098 int fd;

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines