123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- ;; Copyright (c) 2001-2003 by David Frese
- ;; a keysym is a 16-bit protocol ID (see X11/keysymdef.h)
- ;; a keycode is an integer specifying a single key on the keyboard
- ;; (hardware depended)
- ;; *** manipulate keyboard encoding **********************************
- ;; a keyboard mapping is a list of lists of keysyms
- (import-xlib-function change-keyboard-mapping
- (display first-keycode keysyms-lists)
- "scx_Change_Keyboard_Mapping")
- ;; returns keycode-count lists of keysyms
- (import-xlib-function get-keyboard-mapping
- (display first-keycode keycode-count)
- "scx_Get_Keyboard_Mapping")
- ;; returns a pair (min-keycodes . max-keycodes)
- (import-xlib-function display-keycodes (display)
- "scx_Display_Keycodes")
- ;; a modmap is an alist mapping a modifier to a list of
- ;; keycodes. Valid modifiers are (state shift) (state lock) (state
- ;; control) (state mod1) (state mod2) (state mod3) (state mod4)
- ;; (state mod5)
- (import-xlib-function set-modifier-mapping (display modmap)
- "scx_Set_Modifier_Mapping")
- (import-xlib-function get-modifier-mapping (display)
- "scx_Get_Modifier_Mapping")
- ;; *** convert keysyms ***********************************************
- (import-lambda-definition-2 string->keysym (string)
- "scx_String_To_Keysym")
- (import-lambda-definition-2 keysym->string (keysym)
- "scx_Keysym_To_String")
- ;; TODO include X11/keysymdef.h ??
- (import-xlib-function keycode->keysym (display keycode index)
- "scx_Keycode_To_Keysym")
- (import-xlib-function keysym->keycode (display keysym)
- "scx_Keysym_To_Keycode")
- ;; returns a pair (lower . upper)
- (import-lambda-definition-2 convert-case (keysym)
- "scx_Convert_Case")
- (define (convert-to-lowercase keysym)
- (car (convert-case keysym)))
- (define (convert-to-uppercase keysym)
- (cdr (convert-case keysym)))
- ;; *** handle keyboard input events in Latin-1 ***********************
- (import-lambda-definition-2 %lookup-keysym (key-event index)
- "scx_Lookup_Keysym")
- (define (lookup-keysym key-event index)
- (call-xlib-function (key-event-display key-event) 'lookup-keysym
- (lambda () (%lookup-keysym key-event index))))
- (import-lambda-definition-2 %refresh-keyboard-mapping (mapping-event)
- "scx_Refresh_Keyboard_Mapping")
- (define (refresh-keyboard-mapping mapping-event)
- (call-xlib-function (mapping-event-display mapping-event)
- 'refresh-keyboard-mapping
- (lambda () (%refresh-keyboard-mapping mapping-event))))
- ;; returns a pair (keysym . string)
- (import-lambda-definition-2 %lookup-string/keysym (key-event)
- "scx_Lookup_String")
- (define (lookup-string/keysym key-event)
- (call-xlib-function (key-event-display key-event)
- 'lookup-string/keysym
- (lambda () (%lookup-string/keysym key-event))))
- (define (lookup-string key-event)
- (cdr (lookup-string/keysym key-event)))
- (import-xlib-function rebind-keysym (display keysym mod-keysyms string)
- "scx_Rebind_Keysym")
|