index
xkb
bookmarks:
docs:
http://www.charvolant.org/~doug/xkb/html/index.html
http://pascal.tsu.ru/en/xkb/
http://people.freedesktop.org/~alanc/xkb/
Differences between the behavior of ps/2 and usb keyboards:
Basically disadvantages of the ps/2 (linux driver?):
- the [Pause] key generates Release immediately
- on error (rectangle problem) some release event is lost.
Things which i want to test:
all i need is to write the (XKB) configuration:
- actions/controls ... enable repeat w/ a key sequence
- messages ....the 'MultiMedia' keys should really send a message (to all interested windows), a mixer could use it !
Messages are an interesting idea: key events (under X) arrive to these windows:
- the focused one,
- the one w/ active Grab,
- and to all listening on XKB messsages, if the action (of the key) is to send a message
mouse emulation
it could permit the combination of up/left to make diagonal steps!
i.e. have a set of down, and remove/add
- how to reset? (i.e. release all mouse buttons 'locked')
Advantages of soft repetition vs hard
- soft survives pressing a modifier !!
see (x + shift) xxxxXXXXxxxxx in X, in windows: xxxxx
- interaction ?
there is a tower of ->CtrlProc 'methods' which end in disabling xf86Info.autorepeat
which prevents repeated HW events from entering the queue !!! (so xf86Events/xf86PostKbdEvent)
soft repetition:
when we release the last how is it done?? modifiers don't interrupt. how come? but they don't repeat, otoh.
resizing core keysym map:
modifiers map is always 256 long!
b/c KeyClassRec has CARD8 modifierMap[MAP_LENGTH]; #define MAP_LENGTH 256
XkbChangeKeycodeRange makes it not full! when i increase the max_keycode
xkb->map->modmap is just necessary!
SetKeySymsMap ->
xkb/xkbInit.c
xkb/xkbUtils.c
XkbUpdateCoreDescription(DeviceIntPtr keybd,Bool resize)
dix/devices.c
QueryMinMaxKeyCodes
XKB pipeline
ProcessKeyboardEvent -> XkbProcessKeyboardEvent
-> plugin
-> AccessXFilterReleaseEvent
plugin -> AccessXFilterReleaseEvent
AccessXFilterReleaseEvent ->
XkbProcessKeyboardEvent ->
Data
Display -> xkbi (= dpy->xkb_info;) ->
XkbInfoRec
This has
- xlib_ctrls
- changes !!
- desc
XkbInfoRec