13 |
|
|
14 |
There are still some small problems. |
There are still some small problems. |
15 |
|
|
16 |
* NumLock handling: NumLock is switched off when typing a non-numlock |
* CapsLock: CapsLock changes are never sent to the RDP |
17 |
key. rdesktop does not know which keys are NumLock-dependent and |
server. rdesktop does not know which keys that are modified by |
18 |
not. When you type a numlock-dependent key again, NumLock is |
CapsLock and which are not. So, the CapsLock indicator in Wordpad |
19 |
switched on on the server again. The only problem really is that the |
etc will always be off. |
|
NumLock indicator in Wordpad etc switches on and off when you type. |
|
|
|
|
|
* CapsLock: CapsLock changes are never sent to the RDP server. This is |
|
|
a problem of the same type as NumLock: rdesktop does not know which |
|
|
keys that are modified by CapsLock and which are not. So, the |
|
|
CapsLock indicator in Wordpad etc will always be off. |
|
20 |
|
|
21 |
Composing/Multi_key is supported. For more information, see: |
Composing/Multi_key is supported. For more information, see: |
22 |
|
|
27 |
Irix6: compose(5) |
Irix6: compose(5) |
28 |
|
|
29 |
|
|
30 |
Keymap-files |
Keymap files |
31 |
============ |
============ |
32 |
The keymaps are line based. There are three different types of lines: |
The names of the keymaps follows RFC1766. |
33 |
|
|
34 |
|
(You can find a translation from Windows keyboard layout numbers to |
35 |
|
keymap names by looking at |
36 |
|
HKEY_LOCAL_MACHINE\SOFTWARE\Classes\MIME\Database\RFC1766 in the |
37 |
|
registry.) |
38 |
|
|
39 |
|
|
40 |
|
Contents of keymap files |
41 |
|
======================== |
42 |
|
The keymaps are line based. There are four different types of lines: |
43 |
|
|
44 |
1) include-lines |
1) include-lines |
45 |
Syntax: |
Syntax: |
65 |
|
|
66 |
python -c "print hex(0x80 | 0x52)" |
python -c "print hex(0x80 | 0x52)" |
67 |
|
|
68 |
If flags are "altgr", "shift", "numlock", the scancode sent for this |
If flags are "altgr", "shift", the scancode sent for this |
69 |
keysym will be prefix with AltGr, Shift or Numlock. |
keysym will be prefix with AltGr, or Shift. |
70 |
|
|
71 |
If flags include "addupper", an translation for this keysyms uppercase |
If flags include "addupper", an translation for this keysyms uppercase |
72 |
name will as well, in addition to the non-uppercase name. Example: |
name will as well, in addition to the non-uppercase name. Example: |
81 |
If flags include "localstate", the modifier to send will be determined |
If flags include "localstate", the modifier to send will be determined |
82 |
by the local modifier state. |
by the local modifier state. |
83 |
|
|
84 |
|
If flags is "inhibit", nothing will be sent to the server. |
85 |
|
|
86 |
|
|
87 |
4) enable_compose |
4) enable_compose |
88 |
|
|
118 |
mod3 Mode_switch (0x71) |
mod3 Mode_switch (0x71) |
119 |
mod4 Hyper_L (0x73), Hyper_R (0x74) |
mod4 Hyper_L (0x73), Hyper_R (0x74) |
120 |
mod5 Scroll_Lock (0x4e) |
mod5 Scroll_Lock (0x4e) |
121 |
|
|
122 |
|
|
123 |
|
Updating / writing keymap files |
124 |
|
=============================== |
125 |
|
When writing new or updating keymap files, please use comments and |
126 |
|
blanks, to increase readability. The "sv" keymap is a good template. |
127 |
|
|
128 |
|
When you need to add a translation to a keymap file, do: |
129 |
|
|
130 |
|
1. Get the "key number" for this key, by looking at keynums.png. |
131 |
|
|
132 |
|
2. Take a look at scancodes.h, and look for |
133 |
|
SCANCODE_KEY_<my-key-number>. The scancode value is at the end of |
134 |
|
the line. If the line contains (SCANCODE_EXTENDED | 0xsomething), |
135 |
|
then you should OR 0x80 to this value. For example, you can do: |
136 |
|
|
137 |
|
python -c "print hex(0x80 | 0xsomething)" |
138 |
|
|
139 |
|
3. Put the scancode (from step 2) and keysym name (found in the |
140 |
|
error message) into the keymap file. |
141 |
|
|
142 |
|
|
143 |
|
Special keys |
144 |
|
============ |
145 |
|
|
146 |
|
* The combination Ctrl-Alt-Enter toggles between fullscreen and |
147 |
|
non-fullscreen mode. |
148 |
|
|
149 |
|
* Meta, Hyper and Super are treated as windows keys. RDP4 does not |
150 |
|
support the windows keys though, so if you are running RDP4, these |
151 |
|
keys will translate to Ctrl-Esc. |
152 |
|
|
153 |
|
|
154 |
|
Links |
155 |
|
===== |
156 |
|
http://www.win.tue.nl/~aeb/linux/kbd/scancodes.html |