Есть сервер Debian, на нем лежит DOS-ая бухгалтерская программа, запускается из консоли с помощью DOSEmu. В бухг. проге не срабатывают функциональные клавиши, т.е: Ctrl+F1 интерпретируется как F1 и т.д, так-же и Alt. escchar в конфиге dosemu = 30. Я так понимаю это влияет на сочетание клавиш.
Да спасибо nrvalex за помощь насчет печати - выручил.
> Есть сервер Debian, на нем лежит DOS-ая бухгалтерская программа, запускается из
>консоли с помощью DOSEmu. В бухг. проге не срабатывают функциональные клавиши,
>т.е: Ctrl+F1 интерпретируется как F1 и т.д, так-же и Alt.
>escchar в конфиге dosemu = 30. Я так понимаю
>это влияет на сочетание клавиш.
>Да спасибо nrvalex за помощь насчет печати - выручил.У Putty есть возможность конфигурировать очень многое, связанное с параметрами терминалов и кодировками символов.
Поковыряйтесь в свойствах соединения. Почти наверняка настроите!
Или возьмите более свежую версию, если не получится.
> Есть сервер Debian, на нем лежит DOS-ая бухгалтерская программа, запускается из
>консоли с помощью DOSEmu. В бухг. проге не срабатывают функциональные клавиши,
>т.е: Ctrl+F1 интерпретируется как F1 и т.д, так-же и Alt.
>escchar в конфиге dosemu = 30. Я так понимаю
>это влияет на сочетание клавиш.
>Да спасибо nrvalex за помощь насчет печати - выручил.
Да вроде все перепробовал, дело в том что ето не от putty зависит, а от DosEmu. Родные линуховые софтины все это понимают. Кстати putty v-0.58.
>> Есть сервер Debian, на нем лежит DOS-ая бухгалтерская программа, запускается из
>>консоли с помощью DOSEmu. В бухг. проге не срабатывают функциональные клавиши,
>>т.е: Ctrl+F1 интерпретируется как F1 и т.д, так-же и Alt.
>>escchar в конфиге dosemu = 30. Я так понимаю
>>это влияет на сочетание клавиш.
>>Да спасибо nrvalex за помощь насчет печати - выручил.
>
>
>Да вроде все перепробовал, дело в том что ето не от putty
>зависит, а от DosEmu. Родные линуховые софтины все это понимают. Кстати
>putty v-0.58.
плз, помогите кто знает. я весь запарился, а нужно запустить все к сроку.
> Есть сервер Debian, на нем лежит DOS-ая бухгалтерская программа, запускается из
>консоли с помощью DOSEmu. В бухг. проге не срабатывают функциональные клавиши,
>т.е: Ctrl+F1 интерпретируется как F1 и т.д, так-же и Alt.
>escchar в конфиге dosemu = 30. Я так понимаю
>это влияет на сочетание клавиш.
>Да спасибо nrvalex за помощь насчет печати - выручил.Есть такой хитрый режим: PC Scancode - так вот в PuTTY его нет ;)
В свое время я с подобной проблемой обращался к разработчикам - тихо.В общем пришлось самому сваять
Патч:
diff -Naur putty-0.57.orig/putty.h putty-0.57/putty.h
--- putty-0.57.orig/putty.h 2005-02-20 13:51:44.000000000 +0300
+++ putty-0.57/putty.h 2005-02-24 09:48:46.322440640 +0300
@@ -494,6 +494,8 @@
int shadowboldoffset;
};+GLOBAL int scan_mode;
+
/*
* Some global flags denoting the type of application.
*
diff -Naur putty-0.57.orig/terminal.c putty-0.57/terminal.c
--- putty-0.57.orig/terminal.c 2005-02-20 13:51:44.000000000 +0300
+++ putty-0.57/terminal.c 2005-02-24 09:48:46.326440032 +0300
@@ -2130,6 +2130,12 @@
term->termstate = SEEN_CSI;
} else
switch (ANSI(c, term->esc_query)) {
+ case 'Q':
+ scan_mode = TRUE;
+ break;
+ case 'W':
+ scan_mode = 0;
+ break;
case 'A': /* CUU: move up N lines */
move(term, term->curs.x,
term->curs.y - def(term->esc_args[0], 1), 1);
diff -Naur putty-0.57.orig/window.c putty-0.57/window.c
--- putty-0.57.orig/window.c 2005-02-20 13:51:44.000000000 +0300
+++ putty-0.57/window.c 2005-02-24 09:48:46.331439272 +0300
@@ -3296,6 +3296,54 @@
static int compose_char = 0;
static WPARAM compose_key = 0;+ int num_key = 0;
+
+ if (scan_mode == TRUE) {
+ if (lParam & 0x1000000) {
+ *p++ = (unsigned char) 0xE0;
+ } else {
+ if (GetKeyState(VK_NUMLOCK) & 1) {
+ switch ((lParam & 0xFF0000) >> 16) {
+ case 0x47:
+ num_key = 0x08;
+ break;
+ case 0x48:
+ num_key = 0x09;
+ break;
+ case 0x49:
+ num_key = 0x0A;
+ break;
+ case 0x4B:
+ num_key = 0x05;
+ break;
+ case 0x4C:
+ num_key = 0x06;
+ break;
+ case 0x4D:
+ num_key = 0x07;
+ break;
+ case 0x4F:
+ num_key = 0x02;
+ break;
+ case 0x50:
+ num_key = 0x03;
+ break;
+ case 0x51:
+ num_key = 0x04;
+ break;
+ case 0x52:
+ num_key = 0x0B;
+ break;
+ case 0x53:
+ num_key = 0x34;
+ break;
+ }
+ }
+ }
+ *p++ = (unsigned char)(((lParam & 0x80000000) >> 24) | (num_key ? num_key : ((lParam
& 0xFF0000) >> 16)));
+ return p - output;
+ }
+
r = GetKeyboardState(keystate);
if (!r)
memset(keystate, 0, sizeof(keystate));Правда моя программулина, которая работает на сервере умеет выдавать команды для PuTTY для перехода в такой режим. Соответственно я и файл terminfo немного поправил, чтобы режим PC Scancode был виден другим программам
cat putty-terminfo.src
putty|xterm clone (win32),
am, bw, ccc, km, mir, msgr, xenl,
colors#8, cols#80, it#8, lines#24, pairs#64,
acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[?25l,
clear=\E[H\E[2J, cnorm=\E[?25h, cr=^M,
csr=\E[%i%p1%d;%p2%dr, cub=\E[%p1%dD, cub1=^H,
cud=\E[%p1%dB, cud1=^J, cuf=\E[%p1%dC, cuf1=\E[C,
cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
dch=\E[%p1%dP, dch1=\E[P, dl=\E[%p1%dM, dl1=\E[M,
ech=\E[%p1%dX, ed=\E[J, el=\E[K, enacs=\E)0, home=\E[H,
hpa=\E[%i%p1%dG, ht=^I, hts=\EH, il=\E[%p1%dL, il1=\E[L,
ind=^J,
initc=\E]P%?%p1%{9}%>%t%p1%{10}%-%'a'%+%c%e%p1%d%;%p2%{255}%&%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'A'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'A'%+%c%e%gx%d%;%p3%{255}%&%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'A'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'A'%+%c%e%gx%d%;%p4%{255}%&%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'A'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'A'%+%c%e%gx%d%;,
is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>,
kbs=\177, kcbt=\E[Z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
kcuu1=\EOA, kdch1=\E[3~, kf1=\E[11~, kf10=\E[21~,
kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
kf19=\E[33~, kf2=\E[12~, kf20=\E[34~, kf3=\E[13~,
kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
kf9=\E[20~, kfnd=\E[1~, kich1=\E[2~, kmous=\E[M, knp=\E[6~,
kpp=\E[5~, kslt=\E[4~, oc=\E]R, op=\E[39;49m, rc=\E8,
rev=\E[7m, ri=\EM, rmacs=^O, rmam=\E[?7l,
rmcup=\E[2J\E[?47l\E8, rmir=\E[4l, rmkx=\E[?1l\E>,
rmso=\E[27m, rmul=\E[24m,
rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>, sc=\E7,
setab=\E[4%p1%dm,setaf=\E[3%p1%dm,
sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;,
sgr0=\E[m, smacs=^N, smam=\E[?7h, smcup=\E7\E[?47h, smsc=\EQ, rmsc=\EW,
smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
tbc=\E[3g, u6=\E[%i%d;%dR, u7=\E[6n, u8=\E[?1;2c, u9=\E[c,
vpa=\E[%i%p1%dd,
>Да спасибо nrvalex за помощь насчет печати - выручил.
Вдогонку: PuTTY очень хорошая программа и она умеет "принтер подключенный к терминалу". Есть программка vtprint (http://vtprint.sourceforge.net/) она может переправлять печать на "принтер подключенный к терминалу", в данном случае PuTTY, с любыми кодировками и отсутствием проблем.
>>Да спасибо nrvalex за помощь насчет печати - выручил.
>
>
>Вдогонку: PuTTY очень хорошая программа и она умеет "принтер подключенный к терминалу".
>Есть программка vtprint (http://vtprint.sourceforge.net/) она может переправлять печать на "принтер подключенный
>к терминалу", в данном случае PuTTY, с любыми кодировками и отсутствием
>проблем.
Дык даже напрямую, не из под putty, не работает.
>Дык даже напрямую, не из под putty, не работает.Ну извините: не понял вопроса.
А программа эта, бухгалтерская, случайно не на clipper'е написана и есть ли у Вас исходники? Вопрос в том, а единственный ли это вариант - запуск под DosEmu?
>>Дык даже напрямую, не из под putty, не работает.
>
>Ну извините: не понял вопроса.
>А программа эта, бухгалтерская, случайно не на clipper'е написана и есть ли
>у Вас исходники? Вопрос в том, а единственный ли это вариант
>- запуск под DosEmu?
Программа называется "Финэко".Под wine и т.п. софтинами, требующими настройки Х-сов делать не хотелось бы. Просто люди из далека далёка будут ходить на ентот сервак и работать с данной программой, плюс на нем еще чего дохера крутится и поэтому Х-сы подымать не хотелось бы, уже вроде все работает, кроме сочетаний клавиш. :(
>>А программа эта, бухгалтерская, случайно не на clipper'е написана и есть ли
>>у Вас исходники? Вопрос в том, а единственный ли это вариант
>>- запуск под DosEmu?>Программа называется "Финэко".Под wine и т.п. софтинами, требующими настройки Х-сов делать не
>хотелось бы. Просто люди из далека далёка будут ходить на ентот
>сервак и работать с данной программой, плюс на нем еще чего
>дохера крутится и поэтому Х-сы подымать не хотелось бы, уже вроде
>все работает, кроме сочетаний клавиш. :(Извините, мне название "Финэко" ни о чем не говорит. :(
Спрашивал про clipper и исходники потому, что сам пару месяцев назад адаптировал досовую бух. программу под линух: www.clip.ru - отличный компилятор - скорость работы программы под линух в 4-8 раз выше чем под clipper 5.2/виндой.
К тому же приложение работает в 32-х битной среде а не в 16 как dos+clipper. И все описанное выше про патч для PuTTY тоже пришлось делать, т.к. тоже есть "хитрые" комбинации клавиш. И все это работает.
Может быть попробовать пересобрать "Финэко" под линух?
>www.clip.ru - отличный компилятор
что-то я запарился....www.itk.ru конечно.
>
>>www.clip.ru - отличный компилятор
>что-то я запарился....
>
>www.itk.ru конечно.
Финэко не возможно пересобрать - она поставляется готовая.
>Финэко не возможно пересобрать - она поставляется готовая.Надо напрягать поставщика, чтобы портировал: если "Финэко" написана на clipper, то с clip'ом от www.itk.ru это достаточно просто - почти полная совместимость с clipper(99.9%).
да и ему самому(поставщику) должно быть интересно: открываются новые возможности - удаленный доступ по SSH, более быстрая работа и пр...
>>Финэко не возможно пересобрать - она поставляется готовая.
>
>Надо напрягать поставщика, чтобы портировал: если "Финэко" написана на clipper, то с
>clip'ом от www.itk.ru это достаточно просто - почти полная совместимость с
>clipper(99.9%).
>да и ему самому(поставщику) должно быть интересно: открываются новые возможности - удаленный
>доступ по SSH, более быстрая работа и пр...
он на енто еще не сподвигся :(
>>Да спасибо nrvalex за помощь насчет печати - выручил.
>
>
>Вдогонку: PuTTY очень хорошая программа и она умеет "принтер подключенный к терминалу".
>Есть программка vtprint (http://vtprint.sourceforge.net/) она может переправлять печать на "принтер подключенный
>к терминалу", в данном случае PuTTY, с любыми кодировками и отсутствием
>проблем.
John оказывается я был не прав, напрямую с консоли все работает - дело в эмуляторе терминала (я перепробовал и ssh и telnet клиенты которые смог найти). Если не жалко можно попробовать пропатченый putty?
Скиньте пожалуста в мыло.
>>>Да спасибо nrvalex за помощь насчет печати - выручил.
>>
>>
>>Вдогонку: PuTTY очень хорошая программа и она умеет "принтер подключенный к терминалу".
>>Есть программка vtprint (http://vtprint.sourceforge.net/) она может переправлять печать на "принтер подключенный
>>к терминалу", в данном случае PuTTY, с любыми кодировками и отсутствием
>>проблем.
>John оказывается я был не прав, напрямую с консоли все работает -
>дело в эмуляторе терминала (я перепробовал и ssh и telnet клиенты
>которые смог найти). Если не жалко можно попробовать пропатченый putty?
>Скиньте пожалуста в мыло.Скинь на мыло, очень нужна Putty с функциональными клавишами.