LINUX.ORG.RU

У меня в справочнике по UNIX написано, что для этого в файл /etc/X11/XF86Config в секцию “InputDevice” нужно добавлять параметр  XkbVariant "winkeys". У меня в этом файле нет такой секции, есть только секция "Keyboard". Добавил этот параметр туда:

Section "Keyboard"
    Protocol    "Standard"
    AutoRepeat  500 5
    LeftAlt        Meta
    RightAlt        Meta
    ScrollLock      Compose
    RightCtl        Control
    XkbKeycodes     "xfree86"
    XkbTypes        "default"
    XkbCompat       "default"
    XkbSymbols      "us(pc101)"
    XkbGeometry     "pc"
    XkbRules        "xfree86"
    XkbModel        "pc101"
    XkbLayout       "ru"
    XkbVariant  "winkeys"
EndSection

Но раскладка все равно почему-то не меняется...

Den_Zurin
() автор топика
Ответ на: комментарий от Den_Zurin

У тебя точно 101 клавишная клавиатура, а не 102 - 105?
Если классическая модель, поменяй XkbModel с pc101 на pc105

Остальное замени на такой вариант. По-умолчанию включается английская раскладка. Русская раскладка включается как в венде по Ctrl+shift. Scroll Lock своей лампочкой показывает, что вклучена альтернативная (русская) раскладка.

Section "Keyboard"
Protocol "Standard"
AutoRepeat 500 5
# LeftAlt Meta
# RightAlt Meta
# ScrollLock Compose
# RightCtl Control
XkbKeycodes "xfree86"
XkbTypes "default"
XkbCompat "default"
# XkbSymbols "us(pc101)"
XkbGeometry "pc"
XkbRules "xfree86"
XkbModel "pc101"
XkbLayout "us,ru"
XkbVariant ",winkeys"
XKbOptions "grp:ctrl_shift_toggle,grp_led:scroll"

EndSection

Bod ★★★★
()
Ответ на: комментарий от Bod

И иксы после внесения изменений не забудь перезагрузить.

Bod ★★★★
()
Ответ на: комментарий от edigaryev

На домашнем однопользовательском компьютере разницы нет. Зачем лишний раз морочить голову ОП?

Bod ★★★★
()

winkeys не надо добавлять, уже почти год как. Если дистр не слишком древний, там уже ru по умолчанию виндовый. Уничтожьте наконец устаревшие хаутушки!

Автору топика: выложите на pastebin свой /usr/share/X11/xkb/symbol/ru

svu ★★★★★
()
Ответ на: комментарий от svu

> Автору топика: выложите на pastebin свой /usr/share/X11/xkb/symbol/ru

Вот:

// $Xorg: ru,v 1.3 2000/08/17 19:54:43 cpqbld Exp $
//
// russian standard keyboard 
// AEN <aen@logic.ru>
//
// $XFree86: xc/programs/xkbcomp/symbols/ru,v 3.7 1999/04/25 10:02:58 dawes Exp $

partial default alphanumeric_keys 
xkb_symbols "basic" {

    // Describes the differences between a very simple en_US
    // keyboard and a very simple Russian keybaord

    name[Group1]= "US/ASCII";
    name[Group2]= "Russian";

    key	<TLDE> {	[	    grave,	asciitilde	],
			[     Cyrillic_io,     Cyrillic_IO	]	};
    key	<LSGT> {	[	     less,	   greater	],
			[	      bar,	 brokenbar	]	};
    key	<AD01> {	[		q,		 Q	],
			[ Cyrillic_shorti, Cyrillic_SHORTI	]	};
    key	<AE01> {	[		1,	    exclam	],
			[		1,	    exclam 	]	};
    key	<AB01> {	[		z,		 Z	],
			[     Cyrillic_ya,     Cyrillic_YA	]	};
    key	<AC02> {	[		s,		 S	],
			[   Cyrillic_yeru,   Cyrillic_YERU	]	};
    key	<AC01> {	[		a,		 A	],
			[     Cyrillic_ef,     Cyrillic_EF	]	};
    key	<AD02> {	[		w,		 W	],
			[    Cyrillic_tse,    Cyrillic_TSE	]	};
    key	<AE02> {	[		2,		at	],
			[		2,        quotedbl	]	};
    key	<AB03> {	[		c,		 C	],
			[     Cyrillic_es,     Cyrillic_ES	]	};
    key	<AB02> {	[		x,		 X	],
			[    Cyrillic_che,    Cyrillic_CHE	]	};
    key	<AC03> {	[		d,		 D	],
			[     Cyrillic_ve,     Cyrillic_VE	]	};
    key	<AD03> {	[		e,		 E	],
			[      Cyrillic_u,	Cyrillic_U	]	};
    key	<AE04> {	[		4,	    dollar	],
			[		4,        asterisk	]	};
    key	<AE03> {	[		3,	numbersign	],
			[		3,      apostrophe	]	};
    key	<AB04> {	[		v,		 V	],
			[     Cyrillic_em,     Cyrillic_EM	]	};
    key	<AC04> {	[		f,		 F	],
			[      Cyrillic_a,	Cyrillic_A	]	};
    key	<AD05> {	[		t,		 T	],
			[     Cyrillic_ie,     Cyrillic_IE	]	};
    key	<AD04> {	[		r,		 R	],
			[     Cyrillic_ka,     Cyrillic_KA	]	};
    key	<AE05> {	[		5,	   percent	],
			[		5,	     colon	]	};
    key	<AB06> {	[		n,		 N	],
			[     Cyrillic_te,     Cyrillic_TE	]	};
    key	<AB05> {	[		b,		 B	],
			[      Cyrillic_i,	Cyrillic_I	]	};
    key	<AC06> {	[		h,		 H	],
			[     Cyrillic_er,     Cyrillic_ER	]	};
    key	<AC05> {	[		g,		 G	],
			[     Cyrillic_pe,     Cyrillic_PE	]	};
    key	<AD06> {	[		y,		 Y	],
			[     Cyrillic_en,     Cyrillic_EN	]	};
    key	<AE06> {	[		6,     asciicircum	],
			[		6,	     comma	]	};
    key	<AB07> {	[		m,		 M	],
			[Cyrillic_softsign,Cyrillic_SOFTSIGN	]	};
    key	<AC07> {	[		j,		 J	],
			[      Cyrillic_o,	Cyrillic_O	]	};
    key	<AD07> {	[		u,		 U	],
			[    Cyrillic_ghe,    Cyrillic_GHE	]	};
    key	<AE07> {	[		7,	 ampersand	],
			[		7,	    period	]	};
    key	<AE08> {	[		8,	  asterisk	],
			[		8,	 semicolon	]	};
    key	<AB08> {	[	    comma,	      less	],
			[     Cyrillic_be,     Cyrillic_BE	]	};
    key	<AC08> {	[		k,		 K	],
			[     Cyrillic_el,     Cyrillic_EL	]	};
    key	<AD08> {	[		i,		 I	],
			[    Cyrillic_sha,    Cyrillic_SHA	]	};
    key	<AD09> {	[		o,		 O	],
			[  Cyrillic_shcha,  Cyrillic_SHCHA	]	};
    key	<AE10> {	[		0,	parenright	],
			[		0,	parenright	]	};
    key	<AE09> {	[		9,	 parenleft	],
			[		9,	 parenleft	]	};
    key	<AB09> {	[	   period,	   greater	],
			[     Cyrillic_yu,     Cyrillic_YU	]	};
    key	<AB10> {	[	    slash,	  question	],
			[	    slash,	  question	]	};
    key	<AC09> {	[		l,		 L	],
			[     Cyrillic_de,     Cyrillic_DE	]	};
    key	<AC10> {	[	semicolon,	     colon	],
			[    Cyrillic_zhe,    Cyrillic_ZHE	]	};
    key	<AD10> {	[		p,		 P	],
			[     Cyrillic_ze,     Cyrillic_ZE	]	};
    key	<AE11> {	[	    minus,	underscore	],
			[	    minus,	underscore	]	};
    key	<AC11> {	[      apostrophe,	  quotedbl	],
			[      Cyrillic_e,	Cyrillic_E	]	};
    key	<AD11> {	[     bracketleft,	 braceleft	],
			[     Cyrillic_ha,     Cyrillic_HA	]	};
    key	<AE12> {	[	    equal,	      plus	],
			[	    equal,	      plus	]	};
    key	<AD12> {	[    bracketright,	braceright	],
			[Cyrillic_hardsign,Cyrillic_HARDSIGN	]	};
    key	<BKSL> {	[	backslash,	       bar	],
			[	backslash,             bar	]	};

    // End alphanumeric section
    
    // Begin modifier mappings 

    modifier_map Shift  { Shift_L };
    modifier_map Lock   { Caps_Lock, ISO_Lock };
    modifier_map Control{ Control_L };
    modifier_map Mod3   { Mode_switch };
};

partial alphanumeric_keys
xkb_symbols "winkeys" {
    include "ru(basic)"
    key	<AE04> {	[		4,	    dollar	],
			[		4,       semicolon	]	};
    key	<AE03> {	[		3,	numbersign	],
			[		3,      numbersign	]	};
    key	<AE05> {	[		5,	   percent	],
			[		5,	   percent	]	};
    key	<AE06> {	[		6,     asciicircum	],
			[		6,	     colon	]	};
    key	<AE07> {	[		7,	 ampersand	],
			[		7,	  question	]	};
    key	<AE08> {	[		8,	  asterisk	],
			[		8,	  asterisk	]	};
    key	<AB10> {	[	    slash,	  question	],
			[	   period,	     comma	]	};
    key	<BKSL> {	[	backslash,	       bar	],
			[	    slash,             bar	]	};
};

Den_Zurin
() автор топика
Ответ на: комментарий от Den_Zurin

Да, древность. Значит, winkeys нужны.

svu ★★★★★
()
Ответ на: комментарий от svu

> winkeys не надо добавлять, уже почти год как. Если дистр не слишком древний, там уже ru по умолчанию виндовый. Уничтожьте наконец устаревшие хаутушки!

Посмотри хоть, что он указал xfree, а не xorg. Одно это говорит о степени "свежести" дистрибутива ;)

Дистрибутив ASP Linux 7.3 (ядро 2.4)

Bod ★★★★
()
Ответ на: комментарий от Bod

Иксы перезапускал, не помогло. "pc105" - попробую... Клава у меня 107-клавишная (с Win-клавишами, Menu и Power/Sleep/Wake Up).

Den_Zurin
() автор топика
Ответ на: комментарий от svu

> Надо использовать средства DE. А это шо такое?

Den_Zurin
() автор топика
Ответ на: комментарий от Den_Zurin

Запятую перед winkeys поставил?

Так у тебя используется xfree, или xorg?
Потому что в клавиатурной секции написано одно, а в конфиге, который ты выкладывал для svu - другое.

Попробуй следующие три строчки заменить этим вариантом (просто скопируй поверх своего, сохрани и перезапусти иксы)

XkbModel "pc105"
XkbLayout "us,ru(winkeys)"
# XkbVariant ",winkeys"

Bod ★★★★
()
Ответ на: комментарий от Bod

> Запятую перед winkeys поставил?

Пробовал оба варианта - и с запятой, и без нее.

> Так у тебя используется xfree, или xorg?

XFree86.

> Попробуй следующие три строчки заменить этим вариантом

Не выходит. Не хочет меняться раскладка. Попробовал еще заменить XkbLayout "us,ru(winkeys)" на XkbLayout "ru(winkeys)", тоже ничего не вышло.

Den_Zurin
() автор топика
Ответ на: комментарий от Den_Zurin

Последнее, что могу предложить, попробовать переконфигуритьвать xfree полностью
XFree86 -configure (от рута)

(сохрани где-нибудь бэкап конфигурационного файла)

и во вновь созданном конфигурационном файле выставить такой вариант

"us,ru(winkeys)"

_именно в таком виде_, не убирая us - иначе как ты можешь обойтись без английской раскладки? :)
В этой строчке ошибки нет. Даже не знаю, что еще думать. В ДЕ (вроде там Гном по-умолчанию?) отключил переключение раскладки? В параметрах клавиатуры где-то. Не помню. Поснимать там все настройки. Пусть берет настройки клавиатуры из иксов.

Bod ★★★★
()
Ответ на: комментарий от Bod

На ASPLinux.net уже обсуждалась эта тема:

http://asplinux.net/node/3846#comment-20166

> Вопрос снят. Изменил раскладку клавиатуры с Russia на Russia Winkeys в параметрах клавиатуры.

Только я не понял, это в каких параметрах? В KDE есть пункт меню Настройки ->Периферия->Клавиатура, но там есть только варианты Русский, Russian phonetik, Russian/Ukrain. А больше вроде клавиатура нигде не настраивается.

> _именно в таком виде_, не убирая us - иначе как ты можешь обойтись без английской раскладки? :)

У меня по умолчанию стояло просто "ru", рус/англ раскладка переключалась по Ctrl-Shift.

Den_Zurin
() автор топика
Ответ на: комментарий от Den_Zurin

Вы выложили этот файл десятком каментов ранее;)

svu ★★★★★
()
Ответ на: комментарий от Den_Zurin

> Только я не понял, это в каких параметрах? В KDE есть пункт меню Настройки ->Периферия->Клавиатура, но там есть только варианты Русский, Russian phonetik, Russian/Ukrain. А больше вроде клавиатура нигде не настраивается.

Дело в том, что в КДЕ тех версий существовала общепризнанная проблема с переключением раскладки. Обходилась она обычно при помощи настройки общеиксовой раскладки.
Почитай эту довольно подробную статью
http://www.opennet.ru/base/rus/kde_xkb.txt.html

Или если что-то неясно, в гугле примерно такой запрос
http://www.google.com/search?hl=ru&q=fedora+раскладкой+клавиатуры+KDE+xfree

Bod ★★★★
()
Ответ на: комментарий от Bod

Да, я заметил, что в KDE глючит переключатель клавиатуры. Но в GNOME раскладка тоже не менялась.

Похоже, что это ошибка возникает только в 7-й версии, в современных версиях ASP Linux этот глюк исправлен.

Пока отредактировал вручную файл /usr/share/X11/xkb/symbol/ru, чтобы символы стояли на правильных местах. :) Теперь все работает. Наверно, лучше все-таки лучше установить версию поновее (10 или 11).

Den_Zurin
() автор топика
Ответ на: комментарий от Den_Zurin

> Наверно, лучше все-таки лучше установить версию поновее (10 или 11).

Золотые слова!!

svu ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.