в консоли не работает Ctrl+C (отмена операции)

Модератор: Модераторы разделов

Ответить
Аватара пользователя
xSPiRiTx
Сообщения: 324
ОС: ArchLinux

в консоли не работает Ctrl+C (отмена операции)

Сообщение xSPiRiTx »

Приветы!
Использую GNOME 2.24 и его же гномовский эмулятор терминала!
После того как влючил RU раскладку клавиатуры по дефолту (т.е. первой), то перестала работать в терминале комбинация клавиш Ctrl+C!
Подскажите куда курить! Или только остается как вариант ставить по дефолту US раскладку :unsure:

/etc/X11/xorg.conf

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

Section "InputDevice"
        Identifier  "Keyboard0"
        Driver      "keyboard"
        Option      "CoreKeyboard"
        Option      "XkbRules" "xorg"
        Option      "XkbModel" "pc105"
        Option      "XkbLayout" "ru,us"
        Option      "XkbOptions" "grp:alt_shift_toggle,lv3:ralt_switch,grp_led:scroll"
EndSection


/etc/rc.conf

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

LOCALE="ru_RU.UTF-8"
HARDWARECLOCK="local"
USEDIRECTISA="no"
TIMEZONE="Asia/Novosibirsk"
KEYMAP="ru"
CONSOLEFONT="/usr/share/kbd/consolefonts/cyr-sun16.psfu.gz"
CONSOLEMAP=
USECOLOR="yes"
Спасибо сказали:
Аватара пользователя
ncsl
Сообщения: 127
Статус: Интересующийся линуксоид
ОС: Arch/Slackware

Re: в консоли не работает Ctrl+C (отмена операции)

Сообщение ncsl »

Или только остается как вариант ставить по дефолту US раскладку

А чем не устраивает us по умолчанию? Наоборот вроде удобно.
Тем более, если так всё нормально работало
Motherboard Asus H97 Plus; Intel Core i5-4460 3.2GHz, Nvidia GeForce GTX 780
Спасибо сказали:
Аватара пользователя
Mage-Warrior
Сообщения: 869
Статус: Семь раз понюхай, один раз откуси!
ОС: SlackWare 12.1

Re: в консоли не работает Ctrl+C (отмена операции)

Сообщение Mage-Warrior »

Есть скромное предположение, что копаться надо с stty... Покажите, пожалуйста:

У меня в виртуальной машине есть Mandriva - в ней вызов SIGINT работает в обеих раскладках. При этом никаких указаний в X-серверных конфигурационных файлах нет.
Прекрасно работают ВСЕ горячие клавиши. Давайте сравнивать.
Пока еще погуглю, так как самому интересна сама возможность.
*- Большинство проблем, дружок, завсегда покажет лог! -*
Спасибо сказали:
Аватара пользователя
Mage-Warrior
Сообщения: 869
Статус: Семь раз понюхай, один раз откуси!
ОС: SlackWare 12.1

Re: в консоли не работает Ctrl+C (отмена операции)

Сообщение Mage-Warrior »

Целая наука тут по этому поводу: scancodes, keycodes, keymaps. Причем, последнее в сочетании со всякими модификаторами, применяемыми отдельно для разных сред (getty, X), усложняет понимание и отлавливание проблемы. Как я представляю, X могут подгружать свою keymap через xmodmap, в результате чего на запущенный в графике терминал попадают уже "трансформированные" коды. Вобщем все придется познавать в сравнении (если автор еще не плюнул на это дело). Потребуется вот что:
1) вывод команды xmodmap
2) выводы команды xev для нажатий Ctrl и C (видимо, в русской раскладке).
3) выводы команды showkey -a (от root/su) (прерывание по Ctrl+D) для нажатий Ctrl и C (в той же раскладке).
*- Большинство проблем, дружок, завсегда покажет лог! -*
Спасибо сказали:
Аватара пользователя
xSPiRiTx
Сообщения: 324
ОС: ArchLinux

Re: в консоли не работает Ctrl+C (отмена операции)

Сообщение xSPiRiTx »

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

[spirit@spirit ~]$ stty -a
speed 38400 baud; rows 24; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?;
swtch = M-^?; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc ixany imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke


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

[spirit@spirit ~]$ xmodmap
xmodmap:  up to 3 keys per modifier, (keycodes in parentheses):

shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  Control_R (0x6d)
mod1        Alt_L (0x40),  Meta_L (0x9c)
mod2        Num_Lock (0x4d)
mod3
mod4        Super_L (0x7f),  Hyper_L (0x80)
mod5        Mode_switch (0x5d),  ISO_Level3_Shift (0x71),  ISO_Level3_Shift (0x7c)


а вот это вывод команды xev при нажатии Ctrl-C =)

Код:

[spirit@spirit ~]$ xev Outer window is 0x5c00001, inner window is 0x5c00002 PropertyNotify event, serial 8, synthetic NO, window 0x5c00001, atom 0x27 (WM_NAME), time 1638279, state PropertyNewValue PropertyNotify event, serial 9, synthetic NO, window 0x5c00001, atom 0x22 (WM_COMMAND), time 1638279, state PropertyNewValue PropertyNotify event, serial 10, synthetic NO, window 0x5c00001, atom 0x28 (WM_NORMAL_HINTS), time 1638279, state PropertyNewValue CreateNotify event, serial 11, synthetic NO, window 0x5c00001, parent 0x5c00001, window 0x5c00002, (10,10), width 50, height 50 border_width 4, override NO PropertyNotify event, serial 14, synthetic NO, window 0x5c00001, atom 0xd9 (WM_PROTOCOLS), time 1638280, state PropertyNewValue MapNotify event, serial 15, synthetic NO, window 0x5c00001, event 0x5c00001, window 0x5c00002, override NO ConfigureNotify event, serial 18, synthetic NO, window 0x5c00001, event 0x5c00001, window 0x5c00001, (0,0), width 178, height 178, border_width 0, above 0x5800043, override NO PropertyNotify event, serial 18, synthetic NO, window 0x5c00001, atom 0x132 (_NET_WM_ALLOWED_ACTIONS), time 1638281, state PropertyNewValue PropertyNotify event, serial 18, synthetic NO, window 0x5c00001, atom 0x132 (_NET_WM_ALLOWED_ACTIONS), time 1638281, state PropertyNewValue ReparentNotify event, serial 18, synthetic NO, window 0x5c00001, event 0x5c00001, window 0x5c00001, parent 0xa018a5, (0,0), override NO PropertyNotify event, serial 18, synthetic NO, window 0x5c00001, atom 0xe1 (_NET_WM_DESKTOP), time 1638281, state PropertyNewValue PropertyNotify event, serial 18, synthetic NO, window 0x5c00001, atom 0xe1 (_NET_WM_DESKTOP), time 1638281, state PropertyNewValue PropertyNotify event, serial 18, synthetic NO, window 0x5c00001, atom 0xde (_NET_FRAME_EXTENTS), time 1638282, state PropertyNewValue ConfigureNotify event, serial 18, synthetic NO, window 0x5c00001, event 0x5c00001, window 0x5c00001, (2,25), width 178, height 178, border_width 0, above 0x0, override NO PropertyNotify event, serial 18, synthetic NO, window 0x5c00001, atom 0x101 (WM_STATE), time 1638282, state PropertyNewValue PropertyNotify event, serial 18, synthetic NO, window 0x5c00001, atom 0xe7 (_NET_WM_STATE), time 1638282, state PropertyNewValue PropertyNotify event, serial 18, synthetic NO, window 0x5c00001, atom 0x102 (XKLAVIER_STATE), time 1638283, state PropertyNewValue ConfigureNotify event, serial 18, synthetic YES, window 0x5c00001, event 0x5c00001, window 0x5c00001, (138,493), width 178, height 178, border_width 2, above 0x0, override NO MapNotify event, serial 18, synthetic NO, window 0x5c00001, event 0x5c00001, window 0x5c00001, override NO VisibilityNotify event, serial 18, synthetic NO, window 0x5c00001, state VisibilityUnobscured Expose event, serial 18, synthetic NO, window 0x5c00001, (0,0), width 178, height 10, count 3 Expose event, serial 18, synthetic NO, window 0x5c00001, (0,10), width 10, height 58, count 2 Expose event, serial 18, synthetic NO, window 0x5c00001, (68,10), width 110, height 58, count 1 Expose event, serial 18, synthetic NO, window 0x5c00001, (0,68), width 178, height 110, count 0 PropertyNotify event, serial 18, synthetic NO, window 0x5c00001, atom 0xe7 (_NET_WM_STATE), time 1638299, state PropertyNewValue FocusIn event, serial 18, synthetic NO, window 0x5c00001, mode NotifyWhileGrabbed, detail NotifyNonlinear KeymapNotify event, serial 18, synthetic NO, window 0x0, keys: 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 PropertyNotify event, serial 18, synthetic NO, window 0x5c00001, atom 0xe7 (_NET_WM_STATE), time 1638299, state PropertyNewValue FocusIn event, serial 18, synthetic NO, window 0x5c00001, mode NotifyUngrab, detail NotifyNonlinear KeymapNotify event, serial 18, synthetic NO, window 0x0, keys: 0 0 0 0 16 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 KeyRelease event, serial 18, synthetic NO, window 0x5c00001, root 0x87, subw 0x0, time 1638327, (731,-185), root:(871,310), state 0x10, keycode 36 (keysym 0xff0d, Return), same_screen YES, " XLookupString gives 1 bytes: (0d) " XFilterEvent returns: False PropertyNotify event, serial 18, synthetic NO, window 0x5c00001, atom 0x128 (_NET_WM_ICON_GEOMETRY), time 1638342, state PropertyNewValue KeyPress event, serial 33, synthetic NO, window 0x5c00001, root 0x87, subw 0x0, time 1640238, (731,-185), root:(871,310), state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyPress event, serial 33, synthetic YES, window 0x5c00001, root 0x87, subw 0x0, time 1640238, (731,-185), root:(871,310), state 0x10, keycode 37 (keysym 0xffe3, Control_L), same_screen YES, XLookupString gives 0 bytes: XmbLookupString gives 0 bytes: XFilterEvent returns: False KeyPress event, serial 33, synthetic YES, window 0x5c00001, root 0x87, subw 0x0, time 1640459, (731,-185), root:(871,310), state 0x14, keycode 54 (keysym 0x63, c), same_screen YES, XLookupString gives 1 bytes: (03) "" XmbLookupString gives 1 bytes: (03) "" XFilterEvent returns: False KeyRelease event, serial 33, synthetic YES, window 0x5c00001, root 0x87, subw 0x0, time 1640588, (731,-185), root:(871,310), state 0x14, keycode 54 (keysym 0x63, c), same_screen YES, XLookupString gives 1 bytes: (03) "" XFilterEvent returns: False KeyRelease event, serial 33, synthetic NO, window 0x5c00001, root 0x87, subw 0x0, time 1640622, (731,-185), root:(871,310), state 0x14, keycode 37 (keysym 0xffe3, Control_L), same_screen YES, XLookupString gives 0 bytes: XFilterEvent returns: False


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

bash-3.2# showkey -a

Press any keys - Ctrl-D will terminate this program

с     209 0321 0xd1
     129 0201 0x81
Спасибо сказали:
Аватара пользователя
Mage-Warrior
Сообщения: 869
Статус: Семь раз понюхай, один раз откуси!
ОС: SlackWare 12.1

Re: в консоли не работает Ctrl+C (отмена операции)

Сообщение Mage-Warrior »

А showkey -a с Ctrl+C? Если честно, то у меня пока не настало просветление по данному вопросу, но уже есть домыслы, что проблема может быть в используемом charmap-е... Будем думать...
*- Большинство проблем, дружок, завсегда покажет лог! -*
Спасибо сказали:
Аватара пользователя
xSPiRiTx
Сообщения: 324
ОС: ArchLinux

Re: в консоли не работает Ctrl+C (отмена операции)

Сообщение xSPiRiTx »

showkey -a я показал же выше. только он для одной клавиши "с" показует мне в русской раскладке!
Спасибо сказали:
Аватара пользователя
Mage-Warrior
Сообщения: 869
Статус: Семь раз понюхай, один раз откуси!
ОС: SlackWare 12.1

Re: в консоли не работает Ctrl+C (отмена операции)

Сообщение Mage-Warrior »

xSPiRiTx писал(а):
09.04.2009 15:10
showkey -a я показал же выше. только он для одной клавиши "с" показует мне в русской раскладке!

Нужно именно сочетание Ctrl+[русская С]. Будет ли оно в итоге ^C или нет...
*- Большинство проблем, дружок, завсегда покажет лог! -*
Спасибо сказали:
Аватара пользователя
xSPiRiTx
Сообщения: 324
ОС: ArchLinux

Re: в консоли не работает Ctrl+C (отмена операции)

Сообщение xSPiRiTx »

ввожу команду, потом нажимаю Ctrl+C с русской раскладкой! то, что мне выводит я показал уже выше! кстати чтобы отрубиться эту команду нужно нажать Ctrl+D - у меня не работает 0_о
Спасибо сказали:
Prividenie
Сообщения: 8

Re: в консоли не работает Ctrl+C (отмена операции)

Сообщение Prividenie »

верните в параметрах клавиатуры - раскладки - США в самый ВЕРХ!
Спасибо сказали:
Ответить