keyboard: simplify configuration

xmodmap seems to modify the layout and will be kept if we switch to
another layout. Therefore, we only need to call it on start. Just move
the keyboard configuration to `start.lua`. `keyboard.lua` is just here
to manage kbdd.
This commit is contained in:
Vincent Bernat 2012-07-16 17:59:23 +02:00
parent e66a4e79da
commit f5aa2a1b51
2 changed files with 12 additions and 26 deletions

View file

@ -2,29 +2,6 @@
local icons = loadrc("icons", "vbe/icons") local icons = loadrc("icons", "vbe/icons")
-- Global configuration
if config.hostname == "guybrush" then
os.execute("setxkbmap us,fr '' compose:rctrl ctrl:nocaps")
else
os.execute("setxkbmap us,fr '' compose:rwin ctrl:nocaps")
end
-- Additional mappings
local mappings = { Pause = "XF86ScreenSaver" }
if config.hostname == "guybrush" then
mappings = { XF86AudioPlay = "XF86ScreenSaver" }
end
local function update_mappings()
for src, dst in pairs(mappings) do
os.execute(string.format("xmodmap -e 'keysym %s = %s'", src, dst))
end
end
update_mappings()
local qdbus = { local qdbus = {
check = "qdbus ru.gentoo.KbddService /ru/gentoo/KbddService", check = "qdbus ru.gentoo.KbddService /ru/gentoo/KbddService",
next = "qdbus ru.gentoo.KbddService /ru/gentoo/KbddService ru.gentoo.kbdd.next_layout" next = "qdbus ru.gentoo.KbddService /ru/gentoo/KbddService ru.gentoo.kbdd.next_layout"
@ -38,13 +15,14 @@ dbus.add_signal("ru.gentoo.kbdd",
function(...) function(...)
local data = {...} local data = {...}
local layout = data[2] local layout = data[2]
update_mappings() local screen = mouse.screen
if client.focus then screen = client.focus.screen end
nid = naughty.notify({ title = "Keyboard layout changed", nid = naughty.notify({ title = "Keyboard layout changed",
text = "New layout is <i>" .. layout .. "</i>", text = "New layout is <i>" .. layout .. "</i>",
replaces_id = nid, replaces_id = nid,
icon = icons.lookup({ name = "keyboard", icon = icons.lookup({ name = "keyboard",
type = "devices" }), type = "devices" }),
screen = client.focus.screen }).id screen = screen }).id
end) end)
config.keys.global = awful.util.table.join( config.keys.global = awful.util.table.join(

View file

@ -26,17 +26,25 @@ local execute = {
if config.hostname == "naruto" then if config.hostname == "naruto" then
execute = awful.util.table.join( execute = awful.util.table.join(
execute, { execute, {
-- Keyboard and mouse
"xset m 4 3", -- Mouse acceleration "xset m 4 3", -- Mouse acceleration
"setxkbmap us,fr '' compose:rctrl ctrl:nocaps",
"xmodmap -e 'keysym Pause = XF86ScreenSaver'",
}) })
elseif config.hostname == "neo" then elseif config.hostname == "neo" then
execute = awful.util.table.join( execute = awful.util.table.join(
execute, { execute, {
-- Keyboard configuration -- Keyboard and mouse
"xset m 3 3", -- Mouse acceleration "xset m 3 3", -- Mouse acceleration
"setxkbmap us,fr '' compose:rctrl ctrl:nocaps",
"xmodmap -e 'keysym Pause = XF86ScreenSaver'",
}) })
elseif config.hostname == "guybrush" then elseif config.hostname == "guybrush" then
execute = awful.util.table.join( execute = awful.util.table.join(
execute, { execute, {
-- Keyboard and mouse
"setxkbmap us,fr '' compose:rwin ctrl:nocaps",
"xmodmap -e 'keysym = XF86ScreenSaver'",
-- Wheel emulation -- Wheel emulation
"xinput set-int-prop 'TPPS/2 IBM TrackPoint' 'Evdev Wheel Emulation' 8 1", "xinput set-int-prop 'TPPS/2 IBM TrackPoint' 'Evdev Wheel Emulation' 8 1",
"xinput set-int-prop 'TPPS/2 IBM TrackPoint' 'Evdev Wheel Emulation Button' 8 2", "xinput set-int-prop 'TPPS/2 IBM TrackPoint' 'Evdev Wheel Emulation Button' 8 2",