default keyfuncs for keys
This commit is contained in:
parent
2498833488
commit
f9a4c2551d
|
@ -110,8 +110,8 @@ class Key
|
|||
"f24" => "KEY_F24",
|
||||
#
|
||||
"\\" => "KEY_Backslash_Pipe",
|
||||
"{" => "KEY_LeftBracket_LeftBrace",
|
||||
"}" => "KEY_RightBracket_RightBrace",
|
||||
"{" => ["KEY_LeftBracket_LeftBrace", "shifted"],
|
||||
"}" => ["KEY_RightBracket_RightBrace", "shifted"],
|
||||
"[" => "KEY_LeftBracket_LeftBrace",
|
||||
"]" => "KEY_RightBracket_RightBrace",
|
||||
"," => "KEY_Comma_LessThan",
|
||||
|
@ -122,25 +122,25 @@ class Key
|
|||
"\'" => "KEY_SingleQuote_DoubleQuote",
|
||||
";" => "KEY_Semicolon_Colon",
|
||||
"/" => "KEY_Slash_Question",
|
||||
"~" => "KEY_GraveAccent_Tilde",
|
||||
"%" => "KEY_5_Percent",
|
||||
"*" => "KEY_8_Asterisk",
|
||||
":" => "KEY_Semicolon_Colon",
|
||||
"^" => "KEY_6_Caret",
|
||||
"<" => "KEY_Comma_LessThan",
|
||||
">" => "KEY_Period_GreaterThan",
|
||||
"?" => "KEY_Slash_Question",
|
||||
"!" => "KEY_1_Exclamation",
|
||||
"(" => "KEY_9_LeftParenthesis",
|
||||
")" => "KEY_0_RightParenthesis",
|
||||
"|" => "KEY_Backslash_Pipe",
|
||||
"@" => "KEY_2_At",
|
||||
"\"" => "KEY_SingleQuote_DoubleQuote",
|
||||
"_" => "KEY_Dash_Underscore",
|
||||
"+" => "KEY_Equal_Plus",
|
||||
"$" => "KEY_4_Dollar",
|
||||
"&" => "KEY_7_Ampersand",
|
||||
"#" => "KEY_3_Pound",
|
||||
"~" => ["KEY_GraveAccent_Tilde", "shifted"],
|
||||
"%" => ["KEY_5_Percent", "shifted"],
|
||||
"*" => ["KEY_8_Asterisk", "shifted"],
|
||||
":" => ["KEY_Semicolon_Colon", "shifted"],
|
||||
"^" => ["KEY_6_Caret", "shifted"],
|
||||
"<" => ["KEY_Comma_LessThan", "shifted"],
|
||||
">" => ["KEY_Period_GreaterThan", "shifted"],
|
||||
"?" => ["KEY_Slash_Question", "shifted"],
|
||||
"!" => ["KEY_1_Exclamation", "shifted"],
|
||||
"(" => ["KEY_9_LeftParenthesis", "shifted"],
|
||||
")" => ["KEY_0_RightParenthesis", "shifted"],
|
||||
"|" => ["KEY_Backslash_Pipe", "shifted"],
|
||||
"@" => ["KEY_2_At", "shifted"],
|
||||
"\"" => ["KEY_SingleQuote_DoubleQuote", "shifted"],
|
||||
"_" => ["KEY_Dash_Underscore", "shifted"],
|
||||
"+" => ["KEY_Equal_Plus", "shifted"],
|
||||
"$" => ["KEY_4_Dollar", "shifted"],
|
||||
"&" => ["KEY_7_Ampersand", "shifted"],
|
||||
"#" => ["KEY_3_Pound", "shifted"],
|
||||
#
|
||||
"enter" => "KEY_ReturnEnter",
|
||||
"return" => "KEY_ReturnEnter",
|
||||
|
@ -160,44 +160,44 @@ class Key
|
|||
"insert" => "KEY_Insert",
|
||||
"menu" => "KEY_Application",
|
||||
#
|
||||
"alt" => "MOD_KEY_LeftAlt",
|
||||
"alt_gr" => "MOD_KEY_RightAlt",
|
||||
"umlaut" => "MOD_KEY_RightAlt",
|
||||
"control" => "MOD_KEY_LeftControl",
|
||||
"control_l" => "MOD_KEY_LeftControl",
|
||||
"control_r" => "MOD_KEY_RightControl",
|
||||
"win" => "MOD_KEY_LeftGUI",
|
||||
"shift_l" => "MOD_KEY_LeftShift",
|
||||
"shift_r" => "MOD_KEY_RightShift",
|
||||
"alt" => ["MOD_KEY_LeftAlt", "mod"],
|
||||
"alt_gr" => ["MOD_KEY_RightAlt", "mod"],
|
||||
"umlaut" => ["MOD_KEY_RightAlt", "mod"],
|
||||
"control" => ["MOD_KEY_LeftControl", "mod"],
|
||||
"control_l" => ["MOD_KEY_LeftControl", "mod"],
|
||||
"control_r" => ["MOD_KEY_RightControl", "mod"],
|
||||
"win" => ["MOD_KEY_LeftGUI", "mod"],
|
||||
"shift_l" => ["MOD_KEY_LeftShift", "mod"],
|
||||
"shift_r" => ["MOD_KEY_RightShift", "mod"],
|
||||
"scroll_lock" => "KEY_ScrollLock",
|
||||
#
|
||||
"NULL" => "KEY_NULL",
|
||||
#
|
||||
"audio_mute" => "MEDIAKEY_AUDIO_MUTE",
|
||||
"audio_vol_up" => "MEDIAKEY_AUDIO_VOL_UP",
|
||||
"audio_vol_down" => "MEDIAKEY_AUDIO_VOL_DOWN",
|
||||
"next_track" => "MEDIAKEY_NEXT_TRACK",
|
||||
"prev_track" => "MEDIAKEY_PREV_TRACK",
|
||||
"stop" => "MEDIAKEY_STOP",
|
||||
"play_pause" => "MEDIAKEY_PLAY_PAUSE",
|
||||
"record" => "MEDIAKEY_RECORD",
|
||||
"rewind" => "MEDIAKEY_REWIND",
|
||||
"eject" => "MEDIAKEY_EJECT",
|
||||
"cc_config" => "MEDIAKEY_CC_CONFIG",
|
||||
"email" => "MEDIAKEY_EMAIL",
|
||||
"calculator" => "MEDIAKEY_CALCULATOR",
|
||||
"local_browser" => "MEDIAKEY_LOCAL_BROWSER",
|
||||
"browser_search" => "MEDIAKEY_BROWSER_SEARCH",
|
||||
"browser_home" => "MEDIAKEY_BROWSER_HOME",
|
||||
"browser_back" => "MEDIAKEY_BROWSER_BACK",
|
||||
"browser_forward" => "MEDIAKEY_BROWSER_FORWARD",
|
||||
"browser_stop" => "MEDIAKEY_BROWSER_STOP",
|
||||
"browser_refresh" => "MEDIAKEY_BROWSER_REFRESH",
|
||||
"browser_bookmarks" => "MEDIAKEY_BROWSER_BOOKMARKS",
|
||||
"audio_mute" => ["MEDIAKEY_AUDIO_MUTE", "media"],
|
||||
"audio_vol_up" => ["MEDIAKEY_AUDIO_VOL_UP", "media"],
|
||||
"audio_vol_down" => ["MEDIAKEY_AUDIO_VOL_DOWN", "media"],
|
||||
"next_track" => ["MEDIAKEY_NEXT_TRACK", "media"],
|
||||
"prev_track" => ["MEDIAKEY_PREV_TRACK", "media"],
|
||||
"stop" => ["MEDIAKEY_STOP", "media"],
|
||||
"play_pause" => ["MEDIAKEY_PLAY_PAUSE", "media"],
|
||||
"record" => ["MEDIAKEY_RECORD", "media"],
|
||||
"rewind" => ["MEDIAKEY_REWIND", "media"],
|
||||
"eject" => ["MEDIAKEY_EJECT", "media"],
|
||||
"cc_config" => ["MEDIAKEY_CC_CONFIG", "media"],
|
||||
"email" => ["MEDIAKEY_EMAIL", "media"],
|
||||
"calculator" => ["MEDIAKEY_CALCULATOR", "media"],
|
||||
"local_browser" => ["MEDIAKEY_LOCAL_BROWSER", "media"],
|
||||
"browser_search" => ["MEDIAKEY_BROWSER_SEARCH", "media"],
|
||||
"browser_home" => ["MEDIAKEY_BROWSER_HOME", "media"],
|
||||
"browser_back" => ["MEDIAKEY_BROWSER_BACK", "media"],
|
||||
"browser_forward" => ["MEDIAKEY_BROWSER_FORWARD", "media"],
|
||||
"browser_stop" => ["MEDIAKEY_BROWSER_STOP", "media"],
|
||||
"browser_refresh" => ["MEDIAKEY_BROWSER_REFRESH", "media"],
|
||||
"browser_bookmarks" => ["MEDIAKEY_BROWSER_BOOKMARKS", "media"],
|
||||
}
|
||||
|
||||
Layers.each.with_index do |layer, i|
|
||||
Keys["#{layer}"] = "#{i}"
|
||||
Keys["#{layer}"] = ["#{i}", "layer"]
|
||||
end
|
||||
|
||||
def initialize layers
|
||||
|
@ -209,13 +209,16 @@ class Key
|
|||
next
|
||||
end
|
||||
|
||||
# FIXME better defaults
|
||||
type ||= "basic"
|
||||
# keycode and default keyfunc
|
||||
keycode, default_type = Keys[key]
|
||||
|
||||
keycode = Keys[key]
|
||||
# keyfunc
|
||||
type ||= default_type || "basic"
|
||||
up, down = Functions[type]
|
||||
down ||= up
|
||||
|
||||
raise "overwriting shifted key: #{key}, #{type}" if default_type == "shifted" and type != default_type
|
||||
|
||||
raise "key not found: #{key}" if keycode.nil?
|
||||
raise "type not found: #{type}" if up.nil? or down.nil?
|
||||
|
||||
|
@ -294,29 +297,29 @@ keys = [
|
|||
%w{ 6 }, %w{ f6 }, %w{ f6 }, %w{ f6 },
|
||||
# top
|
||||
# letter type punc type nav type func type
|
||||
%w{ x }, %w{ ~ shifted }, %w{ escape }, %w{ }, # 1.5
|
||||
%w{ x }, %w{ ~ shifted }, %w{ escape }, %w{ },
|
||||
%w{ x }, %w{ ~ }, %w{ escape }, %w{ }, # 1.5
|
||||
%w{ x }, %w{ ~ }, %w{ escape }, %w{ },
|
||||
%w{ v }, %w{ [ }, %w{ backspace }, %w{ },
|
||||
%w{ l }, %w{ ' }, %w{ enter }, %w{ },
|
||||
%w{ c }, %w{ < shifted }, %w{ delete }, %w{ },
|
||||
%w{ c }, %w{ < }, %w{ delete }, %w{ },
|
||||
%w{ w }, %w{ \\ }, %w{ insert }, %w{ },
|
||||
%w{ tab }, %w{ }, %w{ }, %w{ }, # 1.5
|
||||
# home
|
||||
# letter type punc type nav type func type
|
||||
%w{ umlaut mod }, %w{ }, %w{ }, %w{ }, # 1.5
|
||||
%w{ u }, %w{ , }, %w{ left }, %w{ audio_mute media },
|
||||
%w{ i }, %w{ \{ shifted }, %w{ up }, %w{ audio_vol_up media },
|
||||
%w{ a }, %w{ ? shifted }, %w{ down }, %w{ audio_vol_down media },
|
||||
%w{ e }, %w{ ! shifted }, %w{ right }, %w{ next_track media },
|
||||
%w{ o }, %w{ ( shifted }, %w{ tab }, %w{ prev_track media },
|
||||
%w{ umlaut }, %w{ }, %w{ }, %w{ }, # 1.5
|
||||
%w{ u }, %w{ , }, %w{ left }, %w{ audio_mute },
|
||||
%w{ i }, %w{ \{ }, %w{ up }, %w{ audio_vol_up },
|
||||
%w{ a }, %w{ ? }, %w{ down }, %w{ audio_vol_down },
|
||||
%w{ e }, %w{ ! }, %w{ right }, %w{ next_track },
|
||||
%w{ o }, %w{ ( }, %w{ tab }, %w{ prev_track },
|
||||
# bottom
|
||||
# letter type punc type nav type func type
|
||||
%w{ shift_l capslock }, %w{ }, %w{ }, %w{ }, # 1.5
|
||||
%w{ % shifted }, %w{ ` }, %w{ home }, %w{ },
|
||||
%w{ * shifted }, %w{ ^ shifted }, %w{ page_up }, %w{ },
|
||||
%w{ : shifted }, %w{ | shifted }, %w{ page_down }, %w{ },
|
||||
%w{ % }, %w{ ` }, %w{ home }, %w{ },
|
||||
%w{ * }, %w{ ^ }, %w{ page_up }, %w{ },
|
||||
%w{ : }, %w{ | }, %w{ page_down }, %w{ },
|
||||
%w{ p }, %w{ - }, %w{ end }, %w{ },
|
||||
%w{ z }, %w{ @ shifted }, %w{ }, %w{ },
|
||||
%w{ z }, %w{ @ }, %w{ }, %w{ },
|
||||
%w{ enter }, %w{ }, %w{ }, %w{ }, # 1.5
|
||||
# underbottom
|
||||
# letter type punc type nav type func type
|
||||
|
@ -324,16 +327,16 @@ keys = [
|
|||
%w{ up }, %w{ }, %w{ }, %w{ },
|
||||
%w{ down }, %w{ }, %w{ }, %w{ },
|
||||
%w{ right }, %w{ }, %w{ }, %w{ },
|
||||
%w{ win mod }, %w{ }, %w{ }, %w{ },
|
||||
%w{ win }, %w{ }, %w{ }, %w{ },
|
||||
# thumb-top
|
||||
# letter type punc type nav type func type
|
||||
%w{ scroll_lock }, %w{ }, %w{ }, %w{ },
|
||||
%w{ func layer }, %w{ }, %w{ }, %w{ },
|
||||
%w{ func }, %w{ }, %w{ }, %w{ },
|
||||
# thumb-double
|
||||
# letter type punc type nav type func type
|
||||
%w{ space }, %w{ }, %w{ }, %w{ },
|
||||
%w{ control mod }, %w{ }, %w{ }, %w{ },
|
||||
%w{ alt mod }, %w{ }, %w{ }, %w{ },
|
||||
%w{ control }, %w{ }, %w{ }, %w{ },
|
||||
%w{ alt }, %w{ }, %w{ }, %w{ },
|
||||
# thumb-home
|
||||
# letter type punc type nav type func type
|
||||
%w{ space }, %w{ }, %w{ }, %w{ },
|
||||
|
@ -355,49 +358,49 @@ keys = [
|
|||
# letter type punc type nav type func type
|
||||
%w{ NULL }, %w{ }, %w{ }, %w{ }, # 1.5
|
||||
%w{ k }, %w{ = }, %w{ 9 }, %w{ f9 },
|
||||
%w{ h }, %w{ > shifted }, %w{ 5 }, %w{ f5 },
|
||||
%w{ g }, %w{ " shifted }, %w{ 6 }, %w{ f6 },
|
||||
%w{ h }, %w{ > }, %w{ 5 }, %w{ f5 },
|
||||
%w{ g }, %w{ " }, %w{ 6 }, %w{ f6 },
|
||||
%w{ f }, %w{ ] }, %w{ 7 }, %w{ f7 },
|
||||
%w{ q }, %w{ ` }, %w{ 8 }, %w{ f8 },
|
||||
%w{ q }, %w{ ` }, %w{ 8 }, %w{ f8 }, # 1.5
|
||||
# home
|
||||
# letter type punc type nav type func type
|
||||
%w{ s }, %w{ ) shifted }, %w{ 0 }, %w{ f10 },
|
||||
%w{ n }, %w{ _ shifted }, %w{ 1 }, %w{ f1 },
|
||||
%w{ s }, %w{ ) }, %w{ 0 }, %w{ f10 },
|
||||
%w{ n }, %w{ _ }, %w{ 1 }, %w{ f1 },
|
||||
%w{ r }, %w{ / }, %w{ 2 }, %w{ f2 },
|
||||
%w{ t }, %w{ \} shifted }, %w{ 3 }, %w{ f3 },
|
||||
%w{ t }, %w{ \} }, %w{ 3 }, %w{ f3 },
|
||||
%w{ d }, %w{ . }, %w{ 4 }, %w{ f4 },
|
||||
%w{ umlaut mod }, %w{ }, %w{ }, %w{ }, # 1.5
|
||||
%w{ umlaut }, %w{ }, %w{ }, %w{ }, # 1.5
|
||||
# bottom
|
||||
# letter type punc type nav type func type
|
||||
%w{ enter }, %w{ }, %w{ }, %w{ }, # 1.5
|
||||
%w{ b }, %w{ + shifted }, %w{ 9 }, %w{ f9 },
|
||||
%w{ m }, %w{ $ shifted }, %w{ 5 }, %w{ f5 },
|
||||
%w{ j }, %w{ & shifted }, %w{ 6 }, %w{ f6 },
|
||||
%w{ y }, %w{ # shifted }, %w{ 7 }, %w{ f7 },
|
||||
%w{ ; }, %w{ ^ shifted }, %w{ 8 }, %w{ f8 },
|
||||
%w{ b }, %w{ + }, %w{ 9 }, %w{ f9 },
|
||||
%w{ m }, %w{ $ }, %w{ 5 }, %w{ f5 },
|
||||
%w{ j }, %w{ & }, %w{ 6 }, %w{ f6 },
|
||||
%w{ y }, %w{ # }, %w{ 7 }, %w{ f7 },
|
||||
%w{ ; }, %w{ ^ }, %w{ 8 }, %w{ f8 },
|
||||
%w{ shift_r capslock }, %w{ }, %w{ }, %w{ }, # 1.5
|
||||
# underbottom
|
||||
# letter type punc type nav type func type
|
||||
%w{ nav layer }, %w{ }, %w{ }, %w{ },
|
||||
%w{ nav }, %w{ }, %w{ }, %w{ },
|
||||
%w{ left }, %w{ }, %w{ }, %w{ },
|
||||
%w{ up }, %w{ }, %w{ }, %w{ },
|
||||
%w{ down }, %w{ }, %w{ }, %w{ },
|
||||
%w{ right }, %w{ }, %w{ }, %w{ },
|
||||
# thumb-top
|
||||
# letter type punc type nav type func type
|
||||
%w{ punc layer }, %w{ }, %w{ func layer }, %w{ },
|
||||
%w{ nav layer }, %w{ func layer }, %w{ }, %w{ },
|
||||
%w{ punc }, %w{ }, %w{ func }, %w{ },
|
||||
%w{ nav }, %w{ func }, %w{ }, %w{ },
|
||||
# thumb-double
|
||||
# letter type punc type nav type func type
|
||||
%w{ menu }, %w{ }, %w{ }, %w{ },
|
||||
%w{ func layer }, %w{ }, %w{ }, %w{ },
|
||||
%w{ punc sticky }, %w{ punc layer }, %w{ NULL }, %w{ NULL },
|
||||
%w{ func }, %w{ }, %w{ }, %w{ },
|
||||
%w{ punc sticky }, %w{ punc }, %w{ NULL }, %w{ NULL },
|
||||
# thumb-home
|
||||
# letter type punc type nav type func type
|
||||
%w{ menu }, %w{ }, %w{ }, %w{ },
|
||||
%w{ func layer }, %w{ }, %w{ }, %w{ },
|
||||
%w{ punc sticky }, %w{ punc layer }, %w{ NULL }, %w{ NULL },
|
||||
%w{ func }, %w{ }, %w{ }, %w{ },
|
||||
%w{ punc sticky }, %w{ punc }, %w{ NULL }, %w{ NULL },
|
||||
|
||||
].each_slice(Key::Layers.size).map do |layers|
|
||||
Key.new layers
|
||||
|
|
Loading…
Reference in a new issue