# Copyright (c) 2000, 2002 Stephen Montgomery-Smith
# All rights reserved.
# 
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions
# are met:
# 1. Redistributions of source code must retain the above copyright
#    notice, this list of conditions and the following disclaimer.
# 2. Redistributions in binary form must reproduce the above copyright
#    notice, this list of conditions and the following disclaimer in the
#    documentation and/or other materials provided with the distribution.
# 3. Neither the name of Stephen Montgomery-Smith nor the names of his 
#    contributors may be used to endorse or promote products derived from 
#    this software without specific prior written permission.
# 
# THIS SOFTWARE IS PROVIDED BY THE STEPHEN MONTGOMERY-SMITH AND CONTRIBUTORS 
# ``AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 
# TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 
# PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL STEPHEN MONTGOMERY-SMITH OR 
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, 
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT
# OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 
# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN 
# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 
# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE 
# POSSIBILITY OF SUCH DAMAGE.

-b
MASK_XkbAudibleBellMask enabled_ctrls Audible Bell

-r
MASK_XkbRepeatKeysMask enabled_ctrls Repeat Keys
rate
USHORT repeat_delay Repeat Delay
USHORT repeat_interval Repeat Interval
perkeyrepeat
CHAR_ARRAY_32 per_key_repeat Per Key Repeat

-m
MASK_XkbMouseKeysMask enabled_ctrls Mouse-Keys
UCHAR mk_dflt_btn Mouse-Keys Default Button
-ma
MASK_XkbMouseKeysAccelMask enabled_ctrls Mouse-Keys Acceleration
USHORT mk_delay Mouse-Keys Acceleration Delay
USHORT mk_interval Mouse-Keys Acceleration Interval
USHORT mk_time_to_max Mouse-Keys Acceleration Time to Max
USHORT mk_max_speed Mouse-Keys Acceleration Max Speed
SHORT mk_curve Mouse-Keys Acceleration Curve

-a
MASK_XkbAccessXKeysMask enabled_ctrls Accessibility Features (AccessX)

-st
MASK_XkbStickyKeysMask enabled_ctrls Sticky-Keys
-twokey
MASK_XkbAX_TwoKeysMask ax_options Two Keys Mask
-latchlock
MASK_XkbAX_LatchToLockMask ax_options Latch to Lock Mask

-sl
MASK_XkbSlowKeysMask enabled_ctrls Slow-Keys
USHORT slow_keys_delay Slow Keys Delay

-bo
MASK_XkbBounceKeysMask enabled_ctrls Bounce-Keys
USHORT debounce_delay Debounce Delay

-f
MASK_XkbAccessXFeedbackMask enabled_ctrls AccessX Feedback
-dumbbell
MASK_XkbAX_DumbBellFBMask ax_options Use Fixed Pitch Bell
-led
MASK_XkbAX_IndicatorFBMask ax_options Beep when LED changes
-feature
MASK_XkbAX_FeatureFBMask ax_options Beep on Controls on/off
-slowwarn
MASK_XkbAX_SlowWarnFBMask ax_options Beep if Slow/Bounce-Keys about to be turned off
-slowpress
MASK_XkbAX_SKPressFBMask ax_options Beep on Slow-Key Press
-slowaccept
MASK_XkbAX_SKAcceptFBMask ax_options Beep on Slow-Key Accept
-slowreject
MASK_XkbAX_SKRejectFBMask ax_options Beep on Slow-Key Reject
-slowrelease
MASK_XkbAX_SKReleaseFBMask ax_options Beep on Slow-Key Release
-bouncereject
MASK_XkbAX_BKRejectFBMask ax_options Beep on Bounce-Key Reject
-stickybeep
MASK_XkbAX_StickyKeysFBMask ax_options Beep on Sticky-Key Actions

-ov1
MASK_XkbOverlay1Mask enabled_ctrls Keyboard Overlay 1
-ov2
MASK_XkbOverlay2Mask enabled_ctrls Keyboard Overlay 2

+groupswrap
HIGH_NIBBLE_ENUM groups_wrap Groups Wrap Type
redirect=XkbRedirectIntoRange,clamp=XkbClampIntoRange,wrap=XkbWrapIntoRange
LOW_NIBBLE_IF_HIGH_NIBBLE_ENUM groups_wrap Groups Wrap Value
redirect=XkbRedirectIntoRange,clamp=XkbClampIntoRange,wrap=XkbWrapIntoRange

#finish later

-ignoregrouplock
MASK_XkbIgnoreGroupLockMask enabled_ctrls Ignore Group Lock

nullify
-shift
MASK_ShiftMask internal.real_mods Nullify Shift
-lock
MASK_LockMask internal.real_mods Nullify Caps-Lock
-control
MASK_ControlMask internal.real_mods Nullify Control
-mod1
MASK_Mod1Mask internal.real_mods Nullify Mod1
-mod2
MASK_Mod2Mask internal.real_mods Nullify Mod2
-mod3
MASK_Mod3Mask internal.real_mods Nullify Mod3
-mod4
MASK_Mod4Mask internal.real_mods Nullify Mod4
-mod5
MASK_Mod5Mask internal.real_mods Nullify Mod5

ignorelock
-shift
MASK_ShiftMask ignore_lock.real_mods Ignore Lock of Shift
-lock
MASK_LockMask ignore_lock.real_mods Ignore Lock of Caps-Lock
-control
MASK_ControlMask ignore_lock.real_mods Ignore Lock of Control
-mod1
MASK_Mod1Mask ignore_lock.real_mods Ignore Lock of Mod1
-mod2
MASK_Mod2Mask ignore_lock.real_mods Ignore Lock of Mod2
-mod3
MASK_Mod3Mask ignore_lock.real_mods Ignore Lock of Mod3
-mod4
MASK_Mod4Mask ignore_lock.real_mods Ignore Lock of Mod4
-mod5
MASK_Mod5Mask ignore_lock.real_mods Ignore Lock of Mod5










