I have tried the following script, under XFree86-4.3.0-2 both with
RedHat 8 and 9, either with the native RH tcl 8.3.5 and with the
ActiveState tcl 8.4.3 distributions.
In all these platform combinations, the binding of <Shift-* does not
work. For example, for Shift-F1, I get XF86_Switch_VT_1 (see xmodmap
dump below), but the binded script is not triggered.
However, the script works fine under Windows, with the same tcl
distributions.
Any hint?
pack [entry .a]
bind .a <Shift_L> {puts "hello, Shift"}
bind .a <Shift-F1> {puts "hello, Shift-F1"}
bind .a <Shift-Tab> {puts "hello, Shift-Tab"}
bind .a <Control_L> {puts "hello, Control"}
bind .a <Control-F1> {puts "hello, Control-F1"}
bind .a <Control-Tab> {puts "hello, Control-Tab"}
xmodmap -pk
There are 4 KeySyms per KeyCode; KeyCodes range from 8 to 255.
KeyCode Keysym (Keysym) ...
Value Value (Name) ...
8
9 0xff1b (Escape)
10 0x0031 (1) 0x0021 (exclam)
11 0x0032 (2) 0x0022 (quotedbl)
12 0x0033 (3) 0x00b7 (periodcentered)
13 0x0034 (4) 0x0024 (dollar)
14 0x0035 (5) 0x0025 (percent)
15 0x0036 (6) 0x0026 (ampersand)
16 0x0037 (7) 0x002f (slash)
17 0x0038 (8) 0x0028 (parenleft)
18 0x0039 (9) 0x0029 (parenright)
19 0x0030 (0) 0x003d (equal)
20 0x0027 (apostrophe) 0x003f (question)
21 0x00a1 (exclamdown) 0x00bf (questiondown)
22 0xff08 (BackSpace) 0xfed5 (Terminate_Server)
23 0xff09 (Tab) 0xfe20 (ISO_Left_Tab)
24 0x0071 (q) 0x0051 (Q)
25 0x0077 (w) 0x0057 (W)
26 0x0065 (e) 0x0045 (E)
27 0x0072 (r) 0x0052 (R)
28 0x0074 (t) 0x0054 (T)
29 0x0079 (y) 0x0059 (Y)
30 0x0075 (u) 0x0055 (U)
31 0x0069 (i) 0x0049 (I)
32 0x006f (o) 0x004f (O)
33 0x0070 (p) 0x0050 (P)
34 0xfe50 (dead_grave) 0xfe52 (dead_circumflex)
35 0x002b (plus) 0x002a (asterisk)
36 0xff0d (Return)
37 0xffe3 (Control_L)
38 0x0061 (a) 0x0041 (A)
39 0x0073 (s) 0x0053 (S)
40 0x0064 (d) 0x0044 (D)
41 0x0066 (f) 0x0046 (F)
42 0x0067 (g) 0x0047 (G)
43 0x0068 (h) 0x0048 (H)
44 0x006a (j) 0x004a (J)
45 0x006b (k) 0x004b (K)
46 0x006c (l) 0x004c (L)
47 0x00f1 (ntilde) 0x00d1 (Ntilde)
48 0xfe51 (dead_acute) 0xfe57 (dead_diaeresis)
49 0x00ba (masculine) 0x00aa (ordfeminine)
50 0xffe1 (Shift_L)
51 0x00e7 (ccedilla) 0x00c7 (Ccedilla)
52 0x007a (z) 0x005a (Z)
53 0x0078 (x) 0x0058 (X)
54 0x0063 (c) 0x0043 (C)
55 0x0076 (v) 0x0056 (V)
56 0x0062 (b) 0x0042 (B)
57 0x006e (n) 0x004e (N)
58 0x006d (m) 0x004d (M)
59 0x002c (comma) 0x003b (semicolon)
60 0x002e (period) 0x003a (colon)
61 0x002d (minus) 0x005f (underscore)
62 0xffe2 (Shift_R)
63 0xffaa (KP_Multiply) 0x1008fe21 (XF86_ClearGrab)
64 0xffe9 (Alt_L) 0xffe7 (Meta_L)
65 0x0020 (space)
66 0xffe5 (Caps_Lock)
67 0xffbe (F1) 0x1008fe01 (XF86_Switch_VT_1)
68 0xffbf (F2) 0x1008fe02 (XF86_Switch_VT_2)
69 0xffc0 (F3) 0x1008fe03 (XF86_Switch_VT_3)
70 0xffc1 (F4) 0x1008fe04 (XF86_Switch_VT_4)
71 0xffc2 (F5) 0x1008fe05 (XF86_Switch_VT_5)
72 0xffc3 (F6) 0x1008fe06 (XF86_Switch_VT_6)
73 0xffc4 (F7) 0x1008fe07 (XF86_Switch_VT_7)
74 0xffc5 (F8) 0x1008fe08 (XF86_Switch_VT_8)
75 0xffc6 (F9) 0x1008fe09 (XF86_Switch_VT_9)
76 0xffc7 (F10) 0x1008fe0a (XF86_Switch_VT_10)
77 0xff7f (Num_Lock) 0xfef9 (Pointer_EnableKeys)
78 0xff14 (Scroll_Lock)
79 0xff95 (KP_Home) 0xffb7 (KP_7)
80 0xff97 (KP_Up) 0xffb8 (KP_8)
81 0xff9a (KP_Prior) 0xffb9 (KP_9)
82 0xffad (KP_Subtract) 0x1008fe23 (XF86_Prev_VMode)
83 0xff96 (KP_Left) 0xffb4 (KP_4)
84 0xff9d (KP_Begin) 0xffb5 (KP_5)
85 0xff98 (KP_Right) 0xffb6 (KP_6)
86 0xffab (KP_Add) 0x1008fe22 (XF86_Next_VMode)
87 0xff9c (KP_End) 0xffb1 (KP_1)
88 0xff99 (KP_Down) 0xffb2 (KP_2)
89 0xff9b (KP_Next) 0xffb3 (KP_3)
90 0xff9e (KP_Insert) 0xffb0 (KP_0)
91 0xff9f (KP_Delete) 0xffae (KP_Decimal)
92
93
94 0x003c (less) 0x003e (greater)
95 0xffc8 (F11) 0x1008fe0b (XF86_Switch_VT_11)
96 0xffc9 (F12) 0x1008fe0c (XF86_Switch_VT_12)
97 0xff50 (Home)
98 0xff52 (Up)
99 0xff55 (Prior)
100 0xff51 (Left)
101
102 0xff53 (Right)
103 0xff57 (End)
104 0xff54 (Down)
105 0xff56 (Next)
106 0xff63 (Insert)
107 0xffff (Delete)
108 0xff8d (KP_Enter)
109 0xffe4 (Control_R)
110 0xff13 (Pause) 0xff6b (Break)
111 0xff61 (Print) 0xff15 (Sys_Req)
112 0xffaf (KP_Divide) 0x1008fe20 (XF86_Ungrab)
113 0xfe03 (ISO_Level3_Shift) 0xff20 (Multi_key)
114
115 0xffeb (Super_L)
116 0xffec (Super_R)
117 0xff67 (Menu)