Initial Commit
[packages] / xemacs-packages / xlib / lisp / xlib-keysymdb.el
1 ;;; xlib-keysymdb.el --- XKeysymDB for xlib.
2
3 ;; Copyright (C) 2004,2005 by XWEM Org.
4
5 ;; Author: Zajcev Evgeny <zevlg@yandex.ru>
6 ;; Created: Tue Dec  7 20:23:10 MSK 2004
7 ;; Keywords: xlib
8 ;; X-CVS: $Id: xlib-keysymdb.el,v 1.4 2005-04-04 19:55:28 lg Exp $
9
10 ;; This file is part of XEmacs.
11
12 ;; XEmacs is free software; you can redistribute it and/or modify it
13 ;; under the terms of the GNU General Public License as published by
14 ;; the Free Software Foundation; either version 2, or (at your option)
15 ;; any later version.
16
17 ;; XEmacs is distributed in the hope that it will be useful, but
18 ;; WITHOUT ANY WARRANTY; without even the implied warranty of
19 ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
20 ;; General Public License for more details.
21
22 ;; You should have received a copy of the GNU General Public License
23 ;; along with XEmacs; see the file COPYING.  If not, write to the Free
24 ;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
25 ;; 02111-1307, USA.
26
27 ;;; Synched up with: Not in FSF
28
29 ;;; Commentary:
30
31 ;;
32
33 ;;; Code:
34
35 (defconst x-XKeysymDB
36   [(hpmute_acute        . #x100000A8)
37     (hpmute_grave        . #x100000A9)
38     (hpmute_asciicircum  . #x100000AA)
39     (hpmute_diaeresis    . #x100000AB)
40     (hpmute_asciitilde   . #x100000AC)
41     (hplira              . #x100000AF)
42     (hpguilder           . #x100000BE)
43     (hpYdiaeresis        . #x100000EE)
44     (hpIO                . #x100000EE)
45     (hplongminus         . #x100000F6)
46     (hpblock             . #x100000FC)
47     (apLineDel           . #x1000FF00)
48     (apCharDel           . #x1000FF01)
49     (apCopy              . #x1000FF02)
50     (apCut               . #x1000FF03)
51     (apPaste             . #x1000FF04)
52     (apMove              . #x1000FF05)
53     (apGrow              . #x1000FF06)
54     (apCmd               . #x1000FF07)
55     (apShell             . #x1000FF08)
56     (apLeftBar           . #x1000FF09)
57     (apRightBar          . #x1000FF0A)
58     (apLeftBox           . #x1000FF0B)
59     (apRightBox          . #x1000FF0C)
60     (apUpBox             . #x1000FF0D)
61     (apDownBox           . #x1000FF0E)
62     (apPop               . #x1000FF0F)
63     (apRead              . #x1000FF10)
64     (apEdit              . #x1000FF11)
65     (apSave              . #x1000FF12)
66     (apExit              . #x1000FF13)
67     (apRepeat            . #x1000FF14)
68     (hpModelock1         . #x1000FF48)
69     (hpModelock2         . #x1000FF49)
70     (hpReset             . #x1000FF6C)
71     (hpSystem            . #x1000FF6D)
72     (hpUser              . #x1000FF6E)
73     (hpClearLine         . #x1000FF6F)
74     (hpInsertLine        . #x1000FF70)
75     (hpDeleteLine        . #x1000FF71)
76     (hpInsertChar        . #x1000FF72)
77     (hpDeleteChar        . #x1000FF73)
78     (hpBackTab           . #x1000FF74)
79     (hpKP_BackTab        . #x1000FF75)
80     (apKP_parenleft      . #x1000FFA8)
81     (apKP_parenright     . #x1000FFA9)
82
83     (I2ND_FUNC_L         . #x10004001)
84     (I2ND_FUNC_R         . #x10004002)
85     (IREMOVE             . #x10004003)
86     (IREPEAT             . #x10004004)
87     (IA1                 . #x10004101)
88     (IA2                 . #x10004102)
89     (IA3                 . #x10004103)
90     (IA4                 . #x10004104)
91     (IA5                 . #x10004105)
92     (IA6                 . #x10004106)
93     (IA7                 . #x10004107)
94     (IA8                 . #x10004108)
95     (IA9                 . #x10004109)
96     (IA10                . #x1000410A)
97     (IA11                . #x1000410B)
98     (IA12                . #x1000410C)
99     (IA13                . #x1000410D)
100     (IA14                . #x1000410E)
101     (IA15                . #x1000410F)
102     (IB1                 . #x10004201)
103     (IB2                 . #x10004202)
104     (IB3                 . #x10004203)
105     (IB4                 . #x10004204)
106     (IB5                 . #x10004205)
107     (IB6                 . #x10004206)
108     (IB7                 . #x10004207)
109     (IB8                 . #x10004208)
110     (IB9                 . #x10004209)
111     (IB10                . #x1000420A)
112     (IB11                . #x1000420B)
113     (IB12                . #x1000420C)
114     (IB13                . #x1000420D)
115     (IB14                . #x1000420E)
116     (IB15                . #x1000420F)
117     (IB16                . #x10004210)
118
119     (DRemove             . #x1000FF00)
120     (Dring_accent        . #x1000FEB0)
121     (Dcircumflex_accent  . #x1000FE5E)
122     (Dcedilla_accent     . #x1000FE2C)
123     (Dacute_accent       . #x1000FE27)
124     (Dgrave_accent       . #x1000FE60)
125     (Dtilde              . #x1000FE7E)
126     (Ddiaeresis          . #x1000FE22)
127
128     (osfCopy             . #x1004FF02)
129     (osfCut              . #x1004FF03)
130     (osfPaste            . #x1004FF04)
131     (osfBackTab          . #x1004FF07)
132     (osfBackSpace        . #x1004FF08)
133     (osfClear            . #x1004FF0B)
134     (osfEscape           . #x1004FF1B)
135     (osfAddMode          . #x1004FF31)
136     (osfPrimaryPaste     . #x1004FF32)
137     (osfQuickPaste       . #x1004FF33)
138     (osfPageLeft         . #x1004FF40)
139     (osfPageUp           . #x1004FF41)
140     (osfPageDown         . #x1004FF42)
141     (osfPageRight        . #x1004FF43)
142     (osfActivate         . #x1004FF44)
143     (osfMenuBar          . #x1004FF45)
144     (osfLeft             . #x1004FF51)
145     (osfUp               . #x1004FF52)
146     (osfRight            . #x1004FF53)
147     (osfDown             . #x1004FF54)
148     (osfPrior            . #x1004FF55)
149     (osfNext             . #x1004FF56)
150     (osfEndLine          . #x1004FF57)
151     (osfBeginLine        . #x1004FF58)
152     (osfEndData          . #x1004FF59)
153     (osfBeginData        . #x1004FF5A)
154     (osfPrevMenu         . #x1004FF5B)
155     (osfNextMenu         . #x1004FF5C)
156     (osfPrevField        . #x1004FF5D)
157     (osfNextField        . #x1004FF5E)
158     (osfSelect           . #x1004FF60)
159     (osfInsert           . #x1004FF63)
160     (osfUndo             . #x1004FF65)
161     (osfMenu             . #x1004FF67)
162     (osfCancel           . #x1004FF69)
163     (osfHelp             . #x1004FF6A)
164     (osfSelectAll        . #x1004FF71)
165     (osfDeselectAll      . #x1004FF72)
166     (osfReselect         . #x1004FF73)
167     (osfExtend           . #x1004FF74)
168     (osfRestore          . #x1004FF78)
169     (osfSwitchDirection  . #x1004FF7E)
170     (osfPriorMinor       . #x1004FFF5)
171     (osfNextMinor        . #x1004FFF6)
172     (osfRightLine        . #x1004FFF7)
173     (osfLeftLine         . #x1004FFF8)
174     (osfDelete           . #x1004FFFF)
175
176     (SunFA_Grave         . #x1005FF00)
177     (SunFA_Circum        . #x1005FF01)
178     (SunFA_Tilde         . #x1005FF02)
179     (SunFA_Acute         . #x1005FF03)
180     (SunFA_Diaeresis     . #x1005FF04)
181     (SunFA_Cedilla       . #x1005FF05)
182     (SunF36              . #x1005FF10)
183     (SunF37              . #x1005FF11)
184     (SunSys_Req          . #x1005FF60)
185     (SunProps            . #x1005FF70)
186     (SunFront            . #x1005FF71)
187     (SunCopy             . #x1005FF72)
188     (SunOpen             . #x1005FF73)
189     (SunPaste            . #x1005FF74)
190     (SunCut              . #x1005FF75)
191     (SunPowerSwitch      . #x1005FF76)
192     (SunAudioLowerVolume . #x1005FF77)
193     (SunAudioMute        . #x1005FF78)
194     (SunAudioRaiseVolume . #x1005FF79)
195     (SunVideoDegauss             . #x1005FF7A)
196     (SunVideoLowerBrightness     . #x1005FF7B)
197     (SunVideoRaiseBrightness     . #x1005FF7C)
198     (SunPowerSwitchShift . #x1005FF7D)
199
200     (SunCompose          . #xFF20)
201     (SunPageUp           . #xFF55)
202     (SunPageDown         . #xFF56)
203     (SunPrint_Screen     . #xFF61)
204     (SunUndo             . #xFF65)
205     (SunAgain            . #xFF66)
206     (SunFind             . #xFF68)
207     (SunStop             . #xFF69)
208     (SunAltGraph         . #xFF7E)
209
210     (WYSetup             . #x1006FF00)
211
212     (ncdSetup            . #x1006FF00)
213
214     (XeroxPointerButton1 . #x10070001)
215     (XeroxPointerButton2 . #x10070002)
216     (XeroxPointerButton3 . #x10070003)
217     (XeroxPointerButton4 . #x10070004)
218     (XeroxPointerButton5 . #x10070005)
219
220 ;; ! The definitions here should match <X11/XF86keysym.h>
221     (XF86ModeLock                . #x1008FF01)
222     (XF86Standby         . #x1008FF10)
223     (XF86AudioLowerVolume        . #x1008FF11)
224     (XF86AudioMute       . #x1008FF12)
225     (XF86AudioRaiseVolume        . #x1008FF13)
226     (XF86AudioPlay       . #x1008FF14)
227     (XF86AudioStop       . #x1008FF15)
228     (XF86AudioPrev       . #x1008FF16)
229     (XF86AudioNext       . #x1008FF17)
230     (XF86HomePage        . #x1008FF18)
231     (XF86Mail            . #x1008FF19)
232     (XF86Start           . #x1008FF1A)
233     (XF86Search          . #x1008FF1B)
234     (XF86AudioRecord     . #x1008FF1C)
235     (XF86Calculator      . #x1008FF1D)
236     (XF86Memo            . #x1008FF1E)
237     (XF86ToDoList        . #x1008FF1F)
238     (XF86Calendar        . #x1008FF20)
239     (XF86PowerDown       . #x1008FF21)
240     (XF86ContrastAdjust  . #x1008FF22)
241     (XF86RockerUp        . #x1008FF23)
242     (XF86RockerDown      . #x1008FF24)
243     (XF86RockerEnter     . #x1008FF25)
244     (XF86Back            . #x1008FF26)
245     (XF86Forward         . #x1008FF27)
246     (XF86Stop            . #x1008FF28)
247     (XF86Refresh         . #x1008FF29)
248     (XF86PowerOff        . #x1008FF2A)
249     (XF86WakeUp          . #x1008FF2B)
250     (XF86Eject           . #x1008FF2C)
251     (XF86ScreenSaver     . #x1008FF2D)
252     (XF86WWW             . #x1008FF2E)
253     (XF86Sleep           . #x1008FF2F)
254     (XF86Favorites       . #x1008FF30)
255     (XF86AudioPause      . #x1008FF31)
256     (XF86AudioMedia      . #x1008FF32)
257     (XF86MyComputer      . #x1008FF33)
258     (XF86VendorHome      . #x1008FF34)
259     (XF86LightBulb       . #x1008FF35)
260     (XF86Shop            . #x1008FF36)
261     (XF86History         . #x1008FF37)
262     (XF86OpenURL         . #x1008FF38)
263     (XF86AddFavorite     . #x1008FF39)
264     (XF86HotLinks        . #x1008FF3A)
265     (XF86BrightnessAdjust        . #x1008FF3B)
266     (XF86Finance         . #x1008FF3C)
267     (XF86Community       . #x1008FF3D)
268 ;;! Allocate 1008FF3E-F next
269
270     (XF86Launch0         . #x1008FF40)
271     (XF86Launch1         . #x1008FF41)
272     (XF86Launch2         . #x1008FF42)
273     (XF86Launch3         . #x1008FF43)
274     (XF86Launch4         . #x1008FF44)
275     (XF86Launch5         . #x1008FF45)
276     (XF86Launch6         . #x1008FF46)
277     (XF86Launch7         . #x1008FF47)
278     (XF86Launch8         . #x1008FF48)
279     (XF86Launch9         . #x1008FF49)
280     (XF86LaunchA         . #x1008FF4A)
281     (XF86LaunchB         . #x1008FF4B)
282     (XF86LaunchC         . #x1008FF4C)
283     (XF86LaunchD         . #x1008FF4D)
284     (XF86LaunchE         . #x1008FF4E)
285     (XF86LaunchF         . #x1008FF4F)
286
287     (usldead_acute       . #x100000A8)
288     (usldead_grave       . #x100000A9)
289     (usldead_diaeresis   . #x100000AB)
290     (usldead_asciicircum . #x100000AA)
291     (usldead_asciitilde  . #x100000AC)
292     (usldead_cedilla     . #x1000FE2C)
293     (usldead_ring        . #x1000FEB0)])
294
295 (defconst x-XKeysymDB-length 245)
296
297 (defun X-XKeysymDB-sym->keysym (sym)
298   "Lookup SYM in keysym db."
299   (let ((i 0)
300         (ret nil))
301     (while (< i x-XKeysymDB-length)
302       (when (eq (car (aref x-XKeysymDB i)) sym)
303         (setq ret (aref x-XKeysymDB i)
304               i x-XKeysymDB-length))
305       (incf i))
306     (cdr ret)))
307
308 (defun X-XKeysymDB-keysym->sym (keysym)
309   "Lookup KEYSIM in keysym db."
310   (let ((i 0)
311         (ret nil))
312     (while (< i x-XKeysymDB-length)
313       (when (= (cdr (aref x-XKeysymDB i)) keysym)
314         (setq ret (aref x-XKeysymDB i)
315               i x-XKeysymDB-length))
316       (incf i))
317     (car ret)))
318
319 (provide 'xlib-keysymdb)
320
321 ;;; xlib-keysymdb.el ends here