LINUX.ORG.RU

История изменений

Исправление bytecode, (текущая версия) :

Пользуясь случаем - вопрос по свитчеру клавиатуры. Есть 10-и строчный индикатор раскладки на панели, вешается на Caps Lock. Прежде пользовался setxkbmap. Теперь появился сайд-эффект. Кроме переключения раскладки, caps выполняет свою непосредственную функцию и переводит печать текста в uppercase.

Не подскажете, как это можно обойти? Пробовал

remove lock = Caps_Lock
в .xmodmap, курил, как ещё можно реализовать через setxkbmap, не вышло.

Сам свитчер:

local wibox = require("wibox")
local awful = require("awful")
kbdcfg = {}
kbdcfg.cmd = "setxkbmap"
kbdcfg.layout = { { "us", "" , "us" }, { "ru", "" , "ru" } } 
kbdcfg.current = 1 
kbdcfg.widget = wibox.widget.textbox()
kbdcfg.widget:set_text(" " .. kbdcfg.layout[kbdcfg.current][3] .. " ")
kbdcfg.switch = function ()
    print('Switching layout...')
    kbdcfg.current = kbdcfg.current % #(kbdcfg.layout) + 1
    local t = kbdcfg.layout[kbdcfg.current]
    kbdcfg.widget:set_text(" " .. t[3] .. " ")
    os.execute( kbdcfg.cmd .. " " .. t[1] .. " " .. t[2] )
end

globalkeys = awful.util.table.join(globalkeys,
    awful.key({ }, "Caps_Lock",   (function() kbdcfg.switch()  end))
)

Исправление bytecode, :

Пользуясь случаем - вопрос по свитчеру клавиатуры. Есть 10-и строчный индикатор раскладки на панели, вешается на Caps Lock. Прежде пользовался setxkbmap. Теперь появился сайд-эффект. Кроме переключения раскладки, caps выполняет свою непосредственную функцию и переводит печать текста в uppercase.

Не подскажете, как это можно обойти? Пробовал

remove lock = Caps_Lock
в .xmodmap, курил, как ещё можно реализовать через setxkbmap, не вышло.

Сам свитчер:

local wibox = require("wibox")
local awful = require("awful")
kbdcfg = {}
kbdcfg.cmd = "setxkbmap"
kbdcfg.layout = { { "us", "" , "us" }, { "ru", "" , "ru" } } 
kbdcfg.current = 1 
kbdcfg.widget = wibox.widget.textbox()
kbdcfg.widget:set_text(" " .. kbdcfg.layout[kbdcfg.current][3] .. " ")
kbdcfg.switch = function ()
    print('Switching layout...')
    kbdcfg.current = kbdcfg.current % #(kbdcfg.layout) + 1
    local t = kbdcfg.layout[kbdcfg.current]
    kbdcfg.widget:set_text(" " .. t[3] .. " ")
    os.execute( kbdcfg.cmd .. " " .. t[1] .. " " .. t[2] )
end

globalkeys = awful.util.table.join(globalkeys,
    awful.key({ }, "Caps_Lock",   (function() kbdcfg.switch()  end))
)

Исходная версия bytecode, :

Пользуясь случаем - вопрос по свитчеру клавиатуры. Есть 10-и строчный индикатор раскладки на панели, вешается на Caps Lock. Прежде пользовался setxkbmap. Теперь появился сайд-эффект. Кроме переключения раскладки, caps выполняет свою непосредственную функцию и переводит печать текста в uppercase.

Не подскажете, как это можно обойти? Пробовал

remove lock = Caps_Lock
в .xmodmap, курил, как ещё можно реализовать через setxkbmap, не вышло.