LINUX.ORG.RU

Midnight Commander - shift-arrows problem


0

0

Есть Fedora 8 и из под X в терминале запускается mc utf8 (2007-06-04-22). Проблема в том, что в mcedit не работает Shift (выделение)... если же запустить mc просто из под консольки, такой проблемки уже не наблюдается... shift работает.

Присоветуйте, куда копать?

PS: про F3,F5,F6,F8 знаю, но хочется все делать более привычным способом lol


> Присоветуйте, куда копать?

Закапывать mc. Это там вряд ли когда поправят.

> PS: про F3,F5,F6,F8 знаю, но хочется все делать более привычным способом lol

вызывать по F4 любимый текстовый редактор, который не имеет этих проблем.

gaa ★★
()

> Присоветуйте, куда копать?

В сторону .Xdefaults, _если_ mc запускается в xterm.

Вот мой (я его слямзил откуда-то из сети очень давно, загружать командой xrdb -merge ~/.Xdefaults ):

! This file causes when loaded using xrdb correct behaviour of xterm
! is you are using enclosed xterm.tcap and xterm.ti.
! Some keys would never normally work if they weren't here (like Alt
! something), some key definitions differ from one termcap/terminfo
! to the other. You may delete any line if you find out that mc
! sends exactly that string which is mentioned here.
! See xterm(1).
! Either put this into your ~/.Xdefaults, or to app-defaults/XTerm
! or wherever it will be loaded into xrm from.
! To know, why this works, see Xt documentation (appendix B).
! On some systems you may want to replace the a (alt) modifiers with
! m (meta) modifier in fron of some <Key> events.
*vt100.translations: #override \
<Key>Home: string(0x1b) string("[7~") \n\
<Key>End: string(0x1b) string("[8~") \n\
<Key>Insert: string(0x1b) string("[2~") \n\
s<Key>Insert: insert-selection(PRIMARY) \n\
<Key>Delete: string(0x1b) string("[3~") \n\
s<Key>Page_Up: scroll-back(1, halfpage) \n\
s<Key>Page_Down: scroll-forw(1, halfpage) \n\
<Key>Page_Up: string(0x1b) string("[5~") \n\
<Key>Page_Down: string(0x1b) string("[6~") \n\
<Key>Left: string(0x1b) string("OD") \n\
<Key>Right: string(0x1b) string("OC") \n\
s<Key>Right: string(0x1b) string("[1;5C") \n\
<Key>Up: string(0x1b) string("OA") \n\
<Key>Down: string(0x1b) string("OB") \n\
~s<Key>F1: string(0x1b) string("[11~") \n\
~s<Key>F2: string(0x1b) string("[12~") \n\
~s<Key>F3: string(0x1b) string("[13~") \n\
~s<Key>F4: string(0x1b) string("[14~") \n\
~s<Key>F5: string(0x1b) string("[15~") \n\
~s<Key>F6: string(0x1b) string("[17~") \n\
~s<Key>F7: string(0x1b) string("[18~") \n\
~s<Key>F8: string(0x1b) string("[19~") \n\
~s<Key>F9: string(0x1b) string("[20~") \n\
~s<Key>F10: string(0x1b) string("[21~") \n\
<Key>F11: string(0x1b) string("[23~") \n\
<Key>F12: string(0x1b) string("[24~") \n\
<Key>F13: string(0x1b) string("[25~") \n\
<Key>F14: string(0x1b) string("[26~") \n\
<Key>F15: string(0x1b) string("[28~") \n\
<Key>F16: string(0x1b) string("[29~") \n\
<Key>F17: string(0x1b) string("[31~") \n\
<Key>F18: string(0x1b) string("[32~") \n\
<Key>F19: string(0x1b) string("[33~") \n\
<Key>F20: string(0x1b) string("[34~") \n\
s<Key>F1: string(0x1b) string("[23~") \n\
s<Key>F2: string(0x1b) string("[24~") \n\
s<Key>F3: string(0x1b) string("[25~") \n\
s<Key>F4: string(0x1b) string("[26~") \n\
s<Key>F5: string(0x1b) string("[28~") \n\
s<Key>F6: string(0x1b) string("[29~") \n\
s<Key>F7: string(0x1b) string("[31~") \n\
s<Key>F8: string(0x1b) string("[32~") \n\
s<Key>F9: string(0x1b) string("[33~") \n\
s<Key>F10: string(0x1b) string("[34~") \n\
a<Key>Return: string(0x1b) string(0x0d) \n\
a<Key>Tab: string(0x1b) string(0x09) \n\
a<Key>space: string(0x1b) string(" ") \n\
a<Key>a: string(0x1b) string("a") \n\
a<Key>b: string(0x1b) string("b") \n\
a<Key>c: string(0x1b) string("c") \n\
a<Key>d: string(0x1b) string("d") \n\
a<Key>e: string(0x1b) string("e") \n\
a<Key>f: string(0x1b) string("f") \n\
a<Key>g: string(0x1b) string("g") \n\
a<Key>h: string(0x1b) string("h") \n\
a<Key>i: string(0x1b) string("i") \n\
a<Key>j: string(0x1b) string("j") \n\
a<Key>k: string(0x1b) string("k") \n\
a<Key>l: string(0x1b) string("l") \n\
a<Key>m: string(0x1b) string("m") \n\
a<Key>n: string(0x1b) string("n") \n\
a<Key>o: string(0x1b) string("o") \n\
a<Key>p: string(0x1b) string("p") \n\
a<Key>q: string(0x1b) string("q") \n\
a<Key>r: string(0x1b) string("r") \n\
a<Key>s: string(0x1b) string("s") \n\
a<Key>t: string(0x1b) string("t") \n\
a<Key>u: string(0x1b) string("u") \n\
a<Key>v: string(0x1b) string("v") \n\
a<Key>w: string(0x1b) string("w") \n\
a<Key>x: string(0x1b) string("x") \n\
a<Key>y: string(0x1b) string("y") \n\
a<Key>y: string("yY") \n\
a<Key>z: string(0x1b) string("z")

tailgunner ★★★★★
()

ОК, всем спасибо, в чем дело было разобрался, но легче от этого пока не стало.

Под кедами я использовал Konsole, а там сочетания клавиш Shift+Left/Right служат для переключения между консолями. Соответственно, в mcedit использовать их не получается.

Кстати, под xterm -ом нет никаких проблем.

Хм... может попытаться пересобрать консольку заменив коды клавиш???

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

> может попытаться пересобрать консольку заменив коды клавиш???

Не стоит. Они должны как-то настраиваться.

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

Правой кнопочкой мыши кликаем в окошке konsole. В менюшке выбираем - настройки->комбинации клавишь :]

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

SOLVED! :)

> Правой кнопочкой мыши кликаем в окошке konsole. В менюшке выбираем - настройки->комбинации клавишь :]

К сожалению, полностью проблему не решило, но стала ее частью :)

Далее приведу выдержки из: http://bugs.kde.org/show_bug.cgi?id=59256 и http://mail.gnome.org/archives/mc-devel/2007-July/msg00007.html

> Для XTerm:

That's not MC problem, that's XTerm feature - it will paste mouse selection you've made while holding Shift. You can use Shift-F5 instead. To enable Shift-Insert in MC, run XTerm in such way:

"xterm -xrm 'XTerm*VT100*translations: #override \nShift <KeyPress> Insert:insert-eight-bit()'"

If you want your MC to look like old text-mode console (fullscreen and big fonts), run this:

"kstart -fullscreen xterm -bg black -fg green -font -misc-fixed-medium-r-normal--20-200-75-75-c-100-iso10646-1 -xrm 'XTerm*VT100*translations: #override \nShift <KeyPress> Insert:insert-eight-bit()' -e 'sleep 0.2 && mc'" (supposedly you have KDE, sleep required for kstart to have time to maximize window).

> Для Konsole:

------- Additional Comment #3 From Gary Cramblitt 2003-10-02 06:03 ------- The problem is that konsole is using the shifted arrow keys for other functions. For example, <Shift-Up> and <Shift-Down> are used to scroll the konsole history. <Shift-Right> and <Shift-Left> are used to switch sessions. To solve this problem, do the following:

1. Go to KDE Control Center | Keyboard Shortcuts and make sure these keys are not assigned as shortcuts.

2. Copy /usr/share/apps/konsole/default.Keytab to ~/.kde/share/apps/konsole/mytab.keytab

3. Edit mytab.keytab. Change the "Keyboard" line to something like

keyboard "XTerm (mytab)"

Add the following lines below the cursor keys section.

# shifted cursor keys key Up +Shift : "\EO2A" key Down +Shift : "\EO2B" key Right +Shift : "\EO2C" key Left +Shift : "\EO2D"

Comment out (add #) the following two lines.

# key Up +Shift : scrollLineUp # key Down +Shift : scrollLineDown

4. Close and restart konsole. In konsole menu, choose "Settings | Keyboard | XTerm (mytab)".

You should now be able to select using arrow keys in Midnight Commander.

--- ОК, всем удачи!

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