//
// CDDL HEADER START
//
// The contents of this file are subject to the terms of the
// Common Development and Distribution License (the "License").
// You may not use this file except in compliance with the License.
//
// You can obtain a copy of the license at src/OPENSOLARIS.LICENSE
// or http://www.opensolaris.org/os/licensing.
// See the License for the specific language governing permissions
// and limitations under the License.
//
// When distributing Covered Code, include this CDDL HEADER in each
// file and include the License file at src/OPENSOLARIS.LICENSE.
// If applicable, add the following below this CDDL HEADER, with the
// fields enclosed by brackets "[]" replaced with your own identifying
// information: Portions Copyright [yyyy] [name of copyright owner]
//
// CDDL HEADER END
//

// $TOG: keypad /main/1 1997/06/10 06:54:31 kaleb $

// Interpretations needed to implement the numeric keypad
// as an overlay instead of a modifier.

partial hidden xkb_compatibility "overlay"  {
    include "keypad(overlay1)"
};
partial hidden xkb_compatibility "overlay1"  {
    virtual_modifiers NumLock,AltGr;

    interpret.repeat= False;
    setMods.clearLocks= True;
    latchMods.clearLocks= True;
    latchMods.latchToLock= True;

    interpret Num_Lock {
	virtualModifier= NumLock;
	action= LockControls(ctrls=overlay1);
    };
    interpret Num_Lock+Any {
	virtualModifier= NumLock;
	action= LockControls(ctrls=overlay1);
    };

    indicator.allowExplicit= True;
    indicator.driveskbd= True;
    replace indicator "Num Lock" {
	whichModState= Locked;
	modifiers= NumLock;
	controls= Overlay1;
    };
    indicator.allowExplicit= True;
};
partial hidden xkb_compatibility "overlay2"  {
    virtual_modifiers NumLock,AltGr;

    interpret.repeat= False;
    setMods.clearLocks= True;
    latchMods.clearLocks= True;
    latchMods.latchToLock= True;

    interpret Num_Lock {
	virtualModifier= NumLock;
	action= LockControls(ctrls=overlay2);
    };
    interpret Num_Lock+Any {
	virtualModifier= NumLock;
	action= LockControls(ctrls=overlay1);
    };

    indicator.allowExplicit= True;
    indicator.driveskbd= True;
    replace indicator "Num Lock" {
	whichModState= Locked;
	modifiers= NumLock;
	controls= Overlay2;
    };
    indicator.allowExplicit= True;
};
