xref: /AOO41X/main/vcl/inc/unx/i18n_keysym.hxx (revision 81dfce65c14fb34544724446693d0cd7cf041c45)
1 /**************************************************************
2  *
3  * Licensed to the Apache Software Foundation (ASF) under one
4  * or more contributor license agreements.  See the NOTICE file
5  * distributed with this work for additional information
6  * regarding copyright ownership.  The ASF licenses this file
7  * to you under the Apache License, Version 2.0 (the
8  * "License"); you may not use this file except in compliance
9  * with the License.  You may obtain a copy of the License at
10  *
11  *   http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing,
14  * software distributed under the License is distributed on an
15  * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
16  * KIND, either express or implied.  See the License for the
17  * specific language governing permissions and limitations
18  * under the License.
19  *
20  *************************************************************/
21 
22 
23 
24 #ifndef _SAL_I18N_KEYSYM_HXX
25 #define _SAL_I18N_KEYSYM_HXX
26 
27 /*
28  convert a keysym as defined in /usr/{X11R6|openwin}/include/X11/keysymdef.h
29  to unicode
30 
31  supported charsets: (byte1 and byte2 are always 0x0)
32 
33     Latin-1     Byte 3 = 0x00
34     Latin-2     Byte 3 = 0x01
35     Latin-3     Byte 3 = 0x02
36     Latin-4     Byte 3 = 0x03
37     Kana        Byte 3 = 0x04
38     Arabic      Byte 3 = 0x05
39     Cyrillic    Byte 3 = 0x06
40     Greek       Byte 3 = 0x07
41     Technical   Byte 3 = 0x08
42     Special     Byte 3 = 0x09
43     Publishing  Byte 3 = 0x0a = 10
44     APL         Byte 3 = 0x0b = 11
45     Hebrew      Byte 3 = 0x0c = 12
46     Thai        Byte 3 = 0x0d = 13
47     Korean      Byte 3 = 0x0e = 14
48     Latin-9     Byte 3 = 0x13 = 19
49     Currency    Byte 3 = 0x20 = 32
50     Keyboard    Byte 3 = 0xff = 255
51 
52  missing charsets:
53 
54     Latin-8     Byte 3 = 0x12 = 18
55     Armenian    Byte 3 = 0x14 = 20
56     Georgian    Byte 3 = 0x15 = 21
57     Azeri       Byte 3 = 0x16 = 22
58     Vietnamese  Byte 3 = 0x1e = 30
59 
60  of course not all keysyms can be mapped to a unicode code point
61 */
62 
63 sal_Unicode KeysymToUnicode (KeySym nKeySym);
64 
65 #endif /* _SAL_I18N_KEYSYM_HXX */
66 
67 
68