You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
koreader/frontend/ui/data/keyboardlayouts/fr_keyboard.lua

66 lines
2.1 KiB
Lua

-- Start with the english keyboard layout (deep copy, to not alter it)
local fr_keyboard = require("util").tableDeepCopy(require("ui/data/keyboardlayouts/en_keyboard"))
-- Swap the four AZWQ keys (only in the lowercase and
-- uppercase letters layouts) to change it from QWERTY to AZERTY
local keys = fr_keyboard.keys
keys[1][1][1], keys[2][1][1] = keys[2][1][1], keys[1][1][1] -- Q <> A
keys[1][1][2], keys[2][1][2] = keys[2][1][2], keys[1][1][2] -- q <> a
keys[1][2][1], keys[3][2][1] = keys[3][2][1], keys[1][2][1] -- W <> Z
keys[1][2][2], keys[3][2][2] = keys[3][2][2], keys[1][2][2] -- w <> z
-- Insert an additional key at the end of 2nd row for M
table.insert(keys[2],
-- 1 2 3 4 5 6 7 8
{ "M", "m", "§", "+", "Œ", "œ", "Ő", "ő", }
)
-- But replace the alpha "M" and "m" with the original key+popup from english M/m
keys[2][10][1] = keys[3][8][1]
keys[2][10][2] = keys[3][8][2]
-- We have one more key than en_keyboard: replace that original M key
-- to show another char on alpha layouts: let's use ";", and a popup
-- helpful for CSS style tweaks editing.
local _semicolon = {
";",
-- north = "!",
north = { label = "!…", key = "!important;" },
northeast = "}",
northwest = "{",
west = "-",
east = ":",
south = "*",
southwest = "0",
southeast = ">",
"[",
'+',
"]",
}
keys[3][8][1] = _semicolon
keys[3][8][2] = _semicolon
-- Swap ê and ë (and the like) in the keyboard popups, so the
-- common french accentuated chars are all on the upper row.
local popups = {
keys[1][1][1], -- A
keys[1][1][2], -- a
keys[1][3][1], -- E
keys[1][3][2], -- e
keys[1][7][1], -- U
keys[1][7][2], -- u
keys[1][8][1], -- I
keys[1][8][2], -- i
keys[1][9][1], -- O
keys[1][9][2], -- o
}
for _, popup in ipairs(popups) do
popup.north, popup.east = popup.east, popup.north
end
-- Remove the "space" string
keys[4][4].label = ""
-- Or, if we'd rather have it in french:
-- keys[4][4].label = "espace"
return fr_keyboard