Страница 1 из 1

Мая пераключалка BY-EN / RU-EN

Добавлено: 15 июл 2006, 11:54
Victor Gr.
Паколькі вырашыць пытанне пра змену пераменнай асяроддзя з bash-скрыпта не атрымалася, прыйшлося выкарыстоўваць часовыя файлы.

Увесь час для вырашэння пераключэння паміж раскладкамі BY-EN / RU-EN я карыстаўся праграмай kxkb. Гэта вельмі зручна, асабліва ў параўнанні з Windows-кім метадам, калі дзеля таго каб дабрацца патрэбнай раскладкі, трэба перагортваць іх усе.

Тут жа дастаткова было настроіць hotkeys на пімпы Alt+(кропка) (для пераключэння паміж By-En / Ru-En), а ужо ў межах беларускай ці расейскай раскладцы пераключаюся з кірыліцы на лацініцу звычайным Alt+Shift.

Усё гэта рабіла праграма kxkb, але апошнім часам мне хочацца зняць нагрузку з памяці і вызваліць тыя 10 Мб, якія яна займае.

Таму мной быў напісаны скрыпт, які робіць тое ж самае, што і kxkb, але не вісіць увесь час у памяці. Яго толькі трэба павесіць на зручныя hotkeys.

Аднізнае, чаго не хапае - гэта якой-небудзь індзікацыі пра бягучую раскладку. Я спрабаваў запусціць "setleds +caps", але яно чамусьці не запрацавала. Ну, ці можна павесіць гэтую пераключалку на пімпу CapsLock, тады лямпачка сама будзе уключацца ды выключацца :).

Выкладваю сюды... Бо можа яшчэ каму спатрэбіцца?

Код: Выделить всё

#!/bin/bash

KBL_FILE="/tmp/kbl";
DEFAULT_LAYOUT='BY';

if
    [ -r $KBL_FILE ]
then
    KBL=`cat $KBL_FILE`;
else
    KBL=$DEFAULT_LAYOUT;
    echo $KBL > $KBL_FILE;
fi

case $KBL in

BY)

    setxkbmap -model pc105 -layout us,ru -variant ,winkeys
    KBL="RU";
    echo $KBL > $KBL_FILE;

;;

RU)

    setxkbmap -model pc105 -layout us,by -variant ,winkeys
    KBL="BY";
    echo $KBL > $KBL_FILE;

;;

esac

Добавлено: 23 июл 2006, 20:36
bobrik
Дзякуй, вельмі дапамагае :)
Можа для паўнаты карціны да яго яшчэ xosd прыкруціць?

Добавлено: 23 июл 2006, 23:07
Victor Gr.
bobrik, :))) Зноў яго xosd круціць?)

Дарэчы, лепш ужо не xosd, а менавіта штосьці з led, каб запальваць лямпачку CapsLock на клавіятуры.

Добавлено: 24 июл 2006, 00:50
bobrik
Хм, Капс да іншага дачыненне мае, можа заставіць скролл памиргаць секунду? Трэба паглядзець ў гэты бок :)

Добавлено: 24 июл 2006, 10:16
Victor Gr.
bobrik, значэнне гэтай лямпачкі - каб ты мог у любы момант зірнуць на яе і ўбачыць - уключана ў цябе беларуская ці расейская раскладка.

Таму, паколькі індыкацыя "кірыліца/лацінка" занята scroll lock-ам, на "беларуская/расейская" застаецца толькі Caps Lock.

А на што ён у цябе заняты?

Добавлено: 24 июл 2006, 11:47
bobrik
Upeer case, як і ва ўсіх.

Добавлено: 24 июл 2006, 23:38
Victor Gr.
Оў, гм :)

Хто-небудзь можа ведае, як зрабіць каб па націску на Caps Lock рэгістр не змяняўся на вялікія літары?

Добавлено: 25 июл 2006, 11:52
booxter
U mianie na CapsLock staic' pierakluczennie raskladak:
Option "XkbRules" "xorg"
Option "XkbModel" "microsoftprousb"
Option "XkbLayout" "by(latin),by,ru(winkeys)"
Option "XkbOptions" "grp:caps_toggle,grp_led:caps"

Добавлено: 11 янв 2008, 22:41
Victor Gr.
booxter, дык а на што ў цябе гарыць лямпачка Caps Lock у гэтым выпадку?

Добавлено: 12 янв 2008, 18:22
booxter
Калі гарыць - уключаная адна з кірылічных раскладак. Калі не - лацінкавая. Зручна, бо можна адразу вызначыць, якімі літарамі будзеш уводзіць.

Re: Мая пераключалка BY-EN / RU-EN

Добавлено: 06 апр 2008, 15:16
olecom
Victor Gr. писал(а):Я спрабаваў запусціць "setleds +caps", але яно чамусьці не запрацавала.
Можна паспрабаваць

Код: Выделить всё

xset [+-]led n
man xset

У звычайнай (не Х) кансолi павинна працаваць

Код: Выделить всё

ESC [ 3 q:  set  Caps  Lock  LED
man console_codes

Але калi я апошнi раз спрабаваў на Linux 2.6.18, нешта яно не працавало як трэба.