;;; xlib-keysymdb.el --- XKeysymDB for xlib. ;; Copyright (C) 2004,2005 by XWEM Org. ;; Author: Zajcev Evgeny ;; Created: Tue Dec 7 20:23:10 MSK 2004 ;; Keywords: xlib ;; X-CVS: $Id: xlib-keysymdb.el,v 1.4 2005-04-04 19:55:28 lg Exp $ ;; This file is part of XEmacs. ;; XEmacs is free software; you can redistribute it and/or modify it ;; under the terms of the GNU General Public License as published by ;; the Free Software Foundation; either version 2, or (at your option) ;; any later version. ;; XEmacs is distributed in the hope that it will be useful, but ;; WITHOUT ANY WARRANTY; without even the implied warranty of ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU ;; General Public License for more details. ;; You should have received a copy of the GNU General Public License ;; along with XEmacs; see the file COPYING. If not, write to the Free ;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA ;; 02111-1307, USA. ;;; Synched up with: Not in FSF ;;; Commentary: ;; ;;; Code: (defconst x-XKeysymDB [(hpmute_acute . #x100000A8) (hpmute_grave . #x100000A9) (hpmute_asciicircum . #x100000AA) (hpmute_diaeresis . #x100000AB) (hpmute_asciitilde . #x100000AC) (hplira . #x100000AF) (hpguilder . #x100000BE) (hpYdiaeresis . #x100000EE) (hpIO . #x100000EE) (hplongminus . #x100000F6) (hpblock . #x100000FC) (apLineDel . #x1000FF00) (apCharDel . #x1000FF01) (apCopy . #x1000FF02) (apCut . #x1000FF03) (apPaste . #x1000FF04) (apMove . #x1000FF05) (apGrow . #x1000FF06) (apCmd . #x1000FF07) (apShell . #x1000FF08) (apLeftBar . #x1000FF09) (apRightBar . #x1000FF0A) (apLeftBox . #x1000FF0B) (apRightBox . #x1000FF0C) (apUpBox . #x1000FF0D) (apDownBox . #x1000FF0E) (apPop . #x1000FF0F) (apRead . #x1000FF10) (apEdit . #x1000FF11) (apSave . #x1000FF12) (apExit . #x1000FF13) (apRepeat . #x1000FF14) (hpModelock1 . #x1000FF48) (hpModelock2 . #x1000FF49) (hpReset . #x1000FF6C) (hpSystem . #x1000FF6D) (hpUser . #x1000FF6E) (hpClearLine . #x1000FF6F) (hpInsertLine . #x1000FF70) (hpDeleteLine . #x1000FF71) (hpInsertChar . #x1000FF72) (hpDeleteChar . #x1000FF73) (hpBackTab . #x1000FF74) (hpKP_BackTab . #x1000FF75) (apKP_parenleft . #x1000FFA8) (apKP_parenright . #x1000FFA9) (I2ND_FUNC_L . #x10004001) (I2ND_FUNC_R . #x10004002) (IREMOVE . #x10004003) (IREPEAT . #x10004004) (IA1 . #x10004101) (IA2 . #x10004102) (IA3 . #x10004103) (IA4 . #x10004104) (IA5 . #x10004105) (IA6 . #x10004106) (IA7 . #x10004107) (IA8 . #x10004108) (IA9 . #x10004109) (IA10 . #x1000410A) (IA11 . #x1000410B) (IA12 . #x1000410C) (IA13 . #x1000410D) (IA14 . #x1000410E) (IA15 . #x1000410F) (IB1 . #x10004201) (IB2 . #x10004202) (IB3 . #x10004203) (IB4 . #x10004204) (IB5 . #x10004205) (IB6 . #x10004206) (IB7 . #x10004207) (IB8 . #x10004208) (IB9 . #x10004209) (IB10 . #x1000420A) (IB11 . #x1000420B) (IB12 . #x1000420C) (IB13 . #x1000420D) (IB14 . #x1000420E) (IB15 . #x1000420F) (IB16 . #x10004210) (DRemove . #x1000FF00) (Dring_accent . #x1000FEB0) (Dcircumflex_accent . #x1000FE5E) (Dcedilla_accent . #x1000FE2C) (Dacute_accent . #x1000FE27) (Dgrave_accent . #x1000FE60) (Dtilde . #x1000FE7E) (Ddiaeresis . #x1000FE22) (osfCopy . #x1004FF02) (osfCut . #x1004FF03) (osfPaste . #x1004FF04) (osfBackTab . #x1004FF07) (osfBackSpace . #x1004FF08) (osfClear . #x1004FF0B) (osfEscape . #x1004FF1B) (osfAddMode . #x1004FF31) (osfPrimaryPaste . #x1004FF32) (osfQuickPaste . #x1004FF33) (osfPageLeft . #x1004FF40) (osfPageUp . #x1004FF41) (osfPageDown . #x1004FF42) (osfPageRight . #x1004FF43) (osfActivate . #x1004FF44) (osfMenuBar . #x1004FF45) (osfLeft . #x1004FF51) (osfUp . #x1004FF52) (osfRight . #x1004FF53) (osfDown . #x1004FF54) (osfPrior . #x1004FF55) (osfNext . #x1004FF56) (osfEndLine . #x1004FF57) (osfBeginLine . #x1004FF58) (osfEndData . #x1004FF59) (osfBeginData . #x1004FF5A) (osfPrevMenu . #x1004FF5B) (osfNextMenu . #x1004FF5C) (osfPrevField . #x1004FF5D) (osfNextField . #x1004FF5E) (osfSelect . #x1004FF60) (osfInsert . #x1004FF63) (osfUndo . #x1004FF65) (osfMenu . #x1004FF67) (osfCancel . #x1004FF69) (osfHelp . #x1004FF6A) (osfSelectAll . #x1004FF71) (osfDeselectAll . #x1004FF72) (osfReselect . #x1004FF73) (osfExtend . #x1004FF74) (osfRestore . #x1004FF78) (osfSwitchDirection . #x1004FF7E) (osfPriorMinor . #x1004FFF5) (osfNextMinor . #x1004FFF6) (osfRightLine . #x1004FFF7) (osfLeftLine . #x1004FFF8) (osfDelete . #x1004FFFF) (SunFA_Grave . #x1005FF00) (SunFA_Circum . #x1005FF01) (SunFA_Tilde . #x1005FF02) (SunFA_Acute . #x1005FF03) (SunFA_Diaeresis . #x1005FF04) (SunFA_Cedilla . #x1005FF05) (SunF36 . #x1005FF10) (SunF37 . #x1005FF11) (SunSys_Req . #x1005FF60) (SunProps . #x1005FF70) (SunFront . #x1005FF71) (SunCopy . #x1005FF72) (SunOpen . #x1005FF73) (SunPaste . #x1005FF74) (SunCut . #x1005FF75) (SunPowerSwitch . #x1005FF76) (SunAudioLowerVolume . #x1005FF77) (SunAudioMute . #x1005FF78) (SunAudioRaiseVolume . #x1005FF79) (SunVideoDegauss . #x1005FF7A) (SunVideoLowerBrightness . #x1005FF7B) (SunVideoRaiseBrightness . #x1005FF7C) (SunPowerSwitchShift . #x1005FF7D) (SunCompose . #xFF20) (SunPageUp . #xFF55) (SunPageDown . #xFF56) (SunPrint_Screen . #xFF61) (SunUndo . #xFF65) (SunAgain . #xFF66) (SunFind . #xFF68) (SunStop . #xFF69) (SunAltGraph . #xFF7E) (WYSetup . #x1006FF00) (ncdSetup . #x1006FF00) (XeroxPointerButton1 . #x10070001) (XeroxPointerButton2 . #x10070002) (XeroxPointerButton3 . #x10070003) (XeroxPointerButton4 . #x10070004) (XeroxPointerButton5 . #x10070005) ;; ! The definitions here should match (XF86ModeLock . #x1008FF01) (XF86Standby . #x1008FF10) (XF86AudioLowerVolume . #x1008FF11) (XF86AudioMute . #x1008FF12) (XF86AudioRaiseVolume . #x1008FF13) (XF86AudioPlay . #x1008FF14) (XF86AudioStop . #x1008FF15) (XF86AudioPrev . #x1008FF16) (XF86AudioNext . #x1008FF17) (XF86HomePage . #x1008FF18) (XF86Mail . #x1008FF19) (XF86Start . #x1008FF1A) (XF86Search . #x1008FF1B) (XF86AudioRecord . #x1008FF1C) (XF86Calculator . #x1008FF1D) (XF86Memo . #x1008FF1E) (XF86ToDoList . #x1008FF1F) (XF86Calendar . #x1008FF20) (XF86PowerDown . #x1008FF21) (XF86ContrastAdjust . #x1008FF22) (XF86RockerUp . #x1008FF23) (XF86RockerDown . #x1008FF24) (XF86RockerEnter . #x1008FF25) (XF86Back . #x1008FF26) (XF86Forward . #x1008FF27) (XF86Stop . #x1008FF28) (XF86Refresh . #x1008FF29) (XF86PowerOff . #x1008FF2A) (XF86WakeUp . #x1008FF2B) (XF86Eject . #x1008FF2C) (XF86ScreenSaver . #x1008FF2D) (XF86WWW . #x1008FF2E) (XF86Sleep . #x1008FF2F) (XF86Favorites . #x1008FF30) (XF86AudioPause . #x1008FF31) (XF86AudioMedia . #x1008FF32) (XF86MyComputer . #x1008FF33) (XF86VendorHome . #x1008FF34) (XF86LightBulb . #x1008FF35) (XF86Shop . #x1008FF36) (XF86History . #x1008FF37) (XF86OpenURL . #x1008FF38) (XF86AddFavorite . #x1008FF39) (XF86HotLinks . #x1008FF3A) (XF86BrightnessAdjust . #x1008FF3B) (XF86Finance . #x1008FF3C) (XF86Community . #x1008FF3D) ;;! Allocate 1008FF3E-F next (XF86Launch0 . #x1008FF40) (XF86Launch1 . #x1008FF41) (XF86Launch2 . #x1008FF42) (XF86Launch3 . #x1008FF43) (XF86Launch4 . #x1008FF44) (XF86Launch5 . #x1008FF45) (XF86Launch6 . #x1008FF46) (XF86Launch7 . #x1008FF47) (XF86Launch8 . #x1008FF48) (XF86Launch9 . #x1008FF49) (XF86LaunchA . #x1008FF4A) (XF86LaunchB . #x1008FF4B) (XF86LaunchC . #x1008FF4C) (XF86LaunchD . #x1008FF4D) (XF86LaunchE . #x1008FF4E) (XF86LaunchF . #x1008FF4F) (usldead_acute . #x100000A8) (usldead_grave . #x100000A9) (usldead_diaeresis . #x100000AB) (usldead_asciicircum . #x100000AA) (usldead_asciitilde . #x100000AC) (usldead_cedilla . #x1000FE2C) (usldead_ring . #x1000FEB0)]) (defconst x-XKeysymDB-length 245) (defun X-XKeysymDB-sym->keysym (sym) "Lookup SYM in keysym db." (let ((i 0) (ret nil)) (while (< i x-XKeysymDB-length) (when (eq (car (aref x-XKeysymDB i)) sym) (setq ret (aref x-XKeysymDB i) i x-XKeysymDB-length)) (incf i)) (cdr ret))) (defun X-XKeysymDB-keysym->sym (keysym) "Lookup KEYSIM in keysym db." (let ((i 0) (ret nil)) (while (< i x-XKeysymDB-length) (when (= (cdr (aref x-XKeysymDB i)) keysym) (setq ret (aref x-XKeysymDB i) i x-XKeysymDB-length)) (incf i)) (car ret))) (provide 'xlib-keysymdb) ;;; xlib-keysymdb.el ends here