added xkb
This commit is contained in:
128
nixos/xkb/compat/misc
Normal file
128
nixos/xkb/compat/misc
Normal file
@@ -0,0 +1,128 @@
|
||||
default partial xkb_compatibility "misc" {
|
||||
|
||||
virtual_modifiers Alt,Meta,Super,Hyper,ScrollLock;
|
||||
|
||||
// Interpretations for some other useful keys.
|
||||
|
||||
interpret Terminate_Server {
|
||||
action = Terminate();
|
||||
};
|
||||
|
||||
setMods.clearLocks= True;
|
||||
|
||||
// Set the "Alt" virtual modifier.
|
||||
|
||||
interpret Alt_L+Any {
|
||||
virtualModifier= Alt;
|
||||
action = SetMods(modifiers=modMapMods);
|
||||
};
|
||||
|
||||
interpret Alt_L {
|
||||
action = SetMods(modifiers=Alt);
|
||||
};
|
||||
|
||||
interpret Alt_R+Any {
|
||||
virtualModifier= Alt;
|
||||
action = SetMods(modifiers=modMapMods);
|
||||
};
|
||||
|
||||
interpret Alt_R {
|
||||
action = SetMods(modifiers=Alt);
|
||||
};
|
||||
|
||||
// Set the "Meta" virtual modifier.
|
||||
|
||||
interpret Meta_L+Any {
|
||||
virtualModifier= Meta;
|
||||
action = SetMods(modifiers=modMapMods);
|
||||
};
|
||||
|
||||
interpret Meta_L {
|
||||
action = SetMods(modifiers=Meta);
|
||||
};
|
||||
|
||||
interpret Meta_R+Any {
|
||||
virtualModifier= Meta;
|
||||
action = SetMods(modifiers=modMapMods);
|
||||
};
|
||||
|
||||
interpret Meta_R {
|
||||
action = SetMods(modifiers=Meta);
|
||||
};
|
||||
|
||||
// Set the "Super" virtual modifier.
|
||||
|
||||
interpret Super_L+Any {
|
||||
virtualModifier= Super;
|
||||
action = SetMods(modifiers=modMapMods);
|
||||
};
|
||||
|
||||
interpret Super_L {
|
||||
action = SetMods(modifiers=Super);
|
||||
};
|
||||
|
||||
interpret Super_R+Any {
|
||||
virtualModifier= Super;
|
||||
action = SetMods(modifiers=modMapMods);
|
||||
};
|
||||
|
||||
interpret Super_R {
|
||||
action = SetMods(modifiers=Super);
|
||||
};
|
||||
|
||||
// Set the "Hyper" virtual modifier.
|
||||
|
||||
interpret Hyper_L+Any {
|
||||
virtualModifier= Hyper;
|
||||
action = SetMods(modifiers=modMapMods);
|
||||
};
|
||||
|
||||
interpret Hyper_L {
|
||||
action = SetMods(modifiers=Hyper);
|
||||
};
|
||||
|
||||
interpret Hyper_R+Any {
|
||||
virtualModifier= Hyper;
|
||||
action = SetMods(modifiers=modMapMods);
|
||||
};
|
||||
|
||||
interpret Hyper_R {
|
||||
action = SetMods(modifiers=Hyper);
|
||||
};
|
||||
|
||||
// Sets the "ScrollLock" virtual modifier and
|
||||
// makes it actually lock when pressed. Sets
|
||||
// up a map for the scroll lock indicator.
|
||||
interpret Scroll_Lock+Any {
|
||||
virtualModifier= ScrollLock;
|
||||
action = LockMods(modifiers=modMapMods);
|
||||
};
|
||||
|
||||
include "ledscroll"
|
||||
|
||||
include "misc(assign_shift_left_action)"
|
||||
include "misc(assign_shift_right_action)"
|
||||
};
|
||||
|
||||
partial xkb_compatibility "assign_shift_left_action" {
|
||||
// Because of the irreversible mapping of the Lock modifier to the
|
||||
// keysym Caps_Lock in symbols/pc, some combinations of options
|
||||
// involving e.g symbols/shift(lshift_both_capslock) may make
|
||||
// <LFSH> bound to the Lock modifier, creating unwanted behaviour.
|
||||
// The following statement ensures Shift_L always sets the Shift
|
||||
// modifier.
|
||||
interpret Shift_L {
|
||||
action = SetMods(modifiers = Shift);
|
||||
};
|
||||
};
|
||||
|
||||
partial xkb_compatibility "assign_shift_right_action" {
|
||||
// A similar issue as assign_shift_left_action hereinabove may
|
||||
// happen to <RTSH> with some combinations of options,
|
||||
// involving e.g symbols/shift(shift_both_capslock) and
|
||||
// symbols/group(lalt_lshift_toggle). The following statement
|
||||
// ensures Shift_R always sets the Shift modifier.
|
||||
interpret Shift_R {
|
||||
action = SetMods(modifiers = Shift);
|
||||
};
|
||||
};
|
||||
Reference in New Issue
Block a user