Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / работа под X-ми и популярный MC / 7 сообщений из 7, страница 1 из 1
17.11.2004, 16:03
    #32787238
sanek842
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа под X-ми и популярный MC
Многоуважаемый all, поделитесь опытом по настройке горячих клавиш в редакторе mcedit из под X-ов
Так, до команды startx в консольном режиме там все работает ( TERM=linux ), а в X-ах кое-чего нет!
Эмулятор терминала использую штатный KDE-шный konsole , оттуда же и запускаю mc
Неработают следующие ф-ии:
1. выделение текста комбинацией клавиш <Shift>+<стрелки> в стиле MS Windows , а также <Shift>+ Home/End
2. <Ctrl>+<Ins> и <Shift>+<Ins> - это типа работаем с clipboard :)

По п.2 там есть такой интересный момент, по Shift+Ins в редактор вставляется то что находится в xclipboard ( это лежит в файле ~/.kde/share/config/klipperrc ) , а вот по Cntrl+Ins mcedit загоняет текст в файл ~/.mc/cedit/( если его выделить мышкой, скажем)
Отсюда вытекает еще один вопрос, как нам сделать такой Cntrl+Ins , чтоб выделенный текст попадал в xclipboard, чтоб я мог бы , скажем, перенести текст из файла ( открыв его по F4 в mc ) в тот же браузер , когда , допустим, пишу это сообщение на sql.ru :) , ну или как переопределить Shift+Ins чтоб вставка шла из cooledit.clip ?

Тема на самом деле актуальна, а в инете ресурсов по данной проблеме либо нет, либо я плохо ищу.

P.S.
ну Shift-Home и Shift End я уже победил :) путем настроек /usr/share/apps/konsole/default.Keytab
...
Рейтинг: 0 / 0
17.11.2004, 17:49
    #32787571
Somebody2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа под X-ми и популярный MC
sanek842
Отсюда вытекает еще один вопрос, как нам сделать такой Cntrl+Ins , чтоб выделенный текст попадал в xclipboard, чтоб я мог бы , скажем, перенести текст из файла ( открыв его по F4 в mc ) в тот же браузер , когда , допустим, пишу это сообщение на sql.ru :)

В третьем KDE, по моему (у меня 2.2.2), текст выделить можно мышкой, удеживая
Shift, затем щелкнуть правой кнопкой и выбрать скопировать. Во втором KDE,
выделенный таким образом текст, автоматом кидается в xclipboard. Как в третьем
не помню, давно его ставил, а во втором КДЕ, текст вставляется либо нажатием
средней кнопки мыши, либо одновременным нажатием левой и правой кнопок, если
мышь двух-кнопочная
...
Рейтинг: 0 / 0
17.11.2004, 18:13
    #32787633
sanek842
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа под X-ми и популярный MC
Somebody2В третьем KDE, по моему (у меня 2.2.2), текст выделить можно мышкой, удеживая Shift, затем щелкнуть правой кнопкой и выбрать скопировать.
версия KDE 3.1.3-6.2 RedHat
Работает! Незнал, спасибо! :)
хотя, по большому счету, реально это неудобно :(
...
Рейтинг: 0 / 0
17.11.2004, 18:52
    #32787724
Somebody2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа под X-ми и популярный MC
sanek842
хотя, по большому счету, реально это неудобно :(

Это с непривычки наверное - я лично никаких неудобств не осчучаю
...
Рейтинг: 0 / 0
19.11.2004, 12:41
    #32791071
sanek842
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа под X-ми и популярный MC
Разобрался! :)
Значит попорядку, задача такая , научить встроенный редактор в MC работать в эмуляторе терминала также как до загрузки X-ов, а именно пользоваться выделением текста и вставкой/копированием по клавишам Shift - стрелки, Shift - Home/End, Cntrl Ins и Shift Ins, поскольку данные комбинации рассматриваю как стандартные и это должно работать просто по определению !

Для этого необходимо настроить наш эмулятор теминала на предмет генерирования нужных нам ESC последовательностей путем привязки комбинаций клавиш ( keytabs ) в файле настройки.

Поскольку я использую KDE-шный konsole ( что вызывается из под KDE клавишами Cntrl-T ) , все ниже описанное будет только для него. Linux RedHat EL 3 ( ну я думаю безразницы )

п.1. Запускаем konsole
п.2. Идем в меню : Настройка -> Настроить быстрые клавиши и отключим там Cntrl Ins и Shift Ins , если они там есть. Это чтоб непутать clipboard - его будем исп-ть от MC.
п.3. Переключаемся в текстовую рутовую консоль и идем - cd /usr/share/apps/konsole
п.4. делаем свой вариант кей таба
- cp default.KetTab XtermM.keytab и открываем наш XtermM.keytab для редактирования
- ищем строку keyboard "XTerm (XFree 4.x.x)" и поменяем название сажем на
keyboard "XTermM (modified)"
- ищем секцию # other grey PC keys, после описаний key Enter вставляем следующее:
key Home : "\E[1~"
key End : "\E[4~"
key Left : "\E[D"
key Right : "\E[C"
key Up : "\E[A"
key Down : "\E[B"
key Left +Shift: "\EOD"
key Right +Shift: "\EOC"
key Up +Shift: "\EOA"
key Down +Shift: "\EOB"

- идущие следом существующие описания Key Home и Key End комментируем ( их 8 строк )
- ищем строку key Insert-Shift : "\E[2~" и после нее следом ( на след строке ) вставляем следующее:
key Insert+Shift : "\E[2~"

Все на этом настройку файла XtermM.keytab можно считать законченой. У меня он получился такой
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
# --------------------------------------------------------------
#
# This file is used to create the buildin keyboard table.
# It is included for reference purpose with the *.keytab
# files that are loaded dynamically.
#
# Modifying it does not have any effect (unless you
# derive the default.keytab.h and recompile konsole).
#
# To customize your keyboard, copy this file to something
# ending with .keytab and change it to meet you needs.
# Please read the README.KeyTab and the README.keyboard
# in this case.
#
# --------------------------------------------------------------

keyboard "XTermM (modified)"

# --------------------------------------------------------------
#
# Note that this particular table is a "risc" version made to
# ease customization without bothering with obsolete details.
# See VT100.keytab for the more hairy stuff.
#
# --------------------------------------------------------------

# common keys

key Escape             : "\E"

key Tab   -Shift       : "\t"
key Tab   +Shift+Ansi  : "\E[Z"
key Tab   +Shift-Ansi  : "\t"

key Return-Shift-NewLine : "\r"
key Return-Shift+NewLine : "\r\n"

key Return+Shift         : "\r"

# Backspace and Delete codes are preserving CTRL-H.

key Backspace      : "\x7f"

# Arrow keys in VT52 mode

key Up   -Shift-Ansi : "\EA"
key Down -Shift-Ansi : "\EB"
key Right-Shift-Ansi : "\EC"
key Left -Shift-Ansi : "\ED"

# Arrow keys in ANSI mode with Application - and Normal Cursor Mode)

key Up   -Shift+Ansi+AppCuKeys : "\EOA"
key Down -Shift+Ansi+AppCuKeys : "\EOB"
key Right-Shift+Ansi+AppCuKeys : "\EOC"
key Left -Shift+Ansi+AppCuKeys : "\EOD"

key Up   -Shift+Ansi-AppCuKeys : "\E[A"
key Down -Shift+Ansi-AppCuKeys : "\E[B"
key Right-Shift+Ansi-AppCuKeys : "\E[C"
key Left -Shift+Ansi-AppCuKeys : "\E[D"

# other grey PC keys

key Enter+NewLine : "\r\n"
key Enter-NewLine : "\r"

key Home  : "\E[1~"
key End   : "\E[4~"
key Left  : "\E[D"
key Right : "\E[C"
key Up    : "\E[A"
key Down  : "\E[B"
key Left  +Shift: "\EOD"
key Right +Shift: "\EOC"
key Up    +Shift: "\EOA"
key Down  +Shift: "\EOB"

#key Home  -Shift-AppCuKeys : "\E[H"  
#key End   -Shift-AppCuKeys : "\E[F"  
#key Home  +Shift-AppCuKeys : "\E[2H"  
#key End   +Shift-AppCuKeys : "\E[2F"  

#key Home  -Shift+AppCuKeys : "\EOH"  
#key End   -Shift+AppCuKeys : "\EOF"  
#key Home  +Shift+AppCuKeys : "\EO2H"  
#key End   +Shift+AppCuKeys : "\EO2F"  

key Insert-Shift : "\E[2~"  
key Insert+Shift : "\E[2~"  
key Delete-Shift : "\E[3~"  
key Prior -Shift : "\E[5~"  
key Next  -Shift : "\E[6~"  

key Delete+Shift : "\E[3;2~"  

# Function keys w/o Shift modifier

key F1    -Shift   : "\EOP"
key F2    -Shift   : "\EOQ"
key F3    -Shift   : "\EOR"
key F4    -Shift   : "\EOS"
key F5    -Shift   : "\E[15~"
key F6    -Shift   : "\E[17~"
key F7    -Shift   : "\E[18~"
key F8    -Shift   : "\E[19~"
key F9    -Shift   : "\E[20~"
key F10   -Shift   : "\E[21~"
key F11   -Shift   : "\E[23~"
key F12   -Shift   : "\E[24~"

key F1 +Shift    : "\EO2P"  
key F2 +Shift    : "\EO2Q"
key F3 +Shift    : "\EO2R"
key F4 +Shift    : "\EO2S"
key F5 +Shift    : "\E[15;2~"
key F6 +Shift    : "\E[17;2~" 
key F7 +Shift    : "\E[18;2~" 
key F8 +Shift    : "\E[19;2~" 
key F9 +Shift    : "\E[20;2~" 
key F10+Shift    : "\E[21;2~" 
key F11+Shift    : "\E[23;2~" 
key F12+Shift    : "\E[24;2~" 

# Work around dead keys

key Space +Control : "\x00"

# Some keys are used by konsole to cause operations.
# The scroll* operations refer to the history buffer.

key Up    +Shift   : scrollLineUp
key Prior +Shift   : scrollPageUp
key Down  +Shift   : scrollLineDown
key Next  +Shift   : scrollPageDown
key Insert+Shift -Control  : emitClipboard
key Insert+Shift +Control  : emitSelection

key ScrollLock     : scrollLock

# keypad characters are not offered differently by Qt.



Далее
п.5 Возвращаемся в X-ы и перезапускаем наш терминал ( konsole )
п.6 Идем в меню : Настройка->Клавиатура и выбираем наш XTerm ( modified )
п.7 Сохранимся : Настройка->Сохранить настройки

Вот и все

Теперь можно проверить что нужные esc выдаются, вот последовательнсть нажатий клавиш
Shift-стрелка вправо,Shift-влево, Shift-стрелка вверх , Shift вниз, Shift Home, Shift End, Cntrl Ins, Shift Ins
Код: plaintext
1.
2.
3.
[root@sanek oracle]# od -c
^[OC^[OD^[OA^[OB^[[ 1 ~^[[ 4 ~^[[ 2 ~^[[ 2 ~
[root@sanek oracle]#

Если у вас также, запускаем MC и наслаждаемся редактированием! :)

Если же нет, то
man showkey
man terminfo
читать /usr/share/apps/konsole/README.KeyTab

Да, и еще
Что касается xclipboard, там делаем как сказал Somebody2 , в этом он прав
...
Рейтинг: 0 / 0
19.11.2004, 13:11
    #32791195
Somebody2
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа под X-ми и популярный MC
sanek842
Что касается xclipboard, там делаем как сказал Somebody2 , в этом он прав
А в чем он не прав?
...
Рейтинг: 0 / 0
19.11.2004, 14:54
    #32791572
sanek842
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
работа под X-ми и популярный MC
Somebody2А в чем он не прав?

:)

P.S.
да, еще забыл
аналогично исправляется ситуация с Shift Del
...
key Insert-Shift : "\E[2~"
key Insert+Shift : "\E[2~"
key Delete-Shift : "\E[3~"
key Delete+Shift : "\E[3~"
key Prior -Shift : "\E[5~"
key Next -Shift : "\E[6~"

#key Delete+Shift : "\E[3;2~"
...
...
Рейтинг: 0 / 0
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / работа под X-ми и популярный MC / 7 сообщений из 7, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]