В общем, думаю, проблемма с вводом русского языка известна всем. Так вот, я придумал некоторое решение на основе не рабочего макроса из инета. Если на соответствующую команду повесить горячей клавишей F7, то с помощью нее можно включать русский и выключать его.
Макрос приведен ниже. Сохраните его, где хотите, обзовите, как хотите, но только его необходимо загрузить в слике.
Да, еще создал 4 мастера по два к Qt 3 и Qt 4 соответсвенно для создания проекта приложения. Тот визард, что выкладывал раньше, имел большЫе ошибки. Хотя новые тоже далеки от совершенства. Выложу их, как только привезу с работы.
Вот макрос для включения русского языка в слике. Может, кто лучше предложит - буду рад:
// Visual SlickEdit KOI8-R input module.
// Version 1.0
// Copyright (C) 2006 Steven Orko
// Bind command `enabled_koi8r_input` to any key or key sequence
// Use this binding to activete KOI8-R and F7 to deactivate
// Known problems: while KOI8-R input is active any mouse operations restricted
#include "slick.sh"
_str koi8r:[]=
{
'`'=>'1', '1'=>'1','2'=>'2','3'=>'3','4'=>'4','5'=>'5','6'=>'6','7'=>'7','8'=>'8',
'9'=>'9', '0'=>'0','q'=>'К','w'=>'Г','e'=>'Х','r'=>'Л','t'=>'Е','y'=>'О','u'=>'З',
'i'=>'Ы', 'o'=>'Э','p'=>'Ъ','['=>'И',']'=>'Я','a'=>'Ж','s'=>'Щ','d'=>'Ч','f'=>'Б',
'g'=>'Р','h'=>'Т','j'=>'П','k'=>'М','l'=>'Д',';'=>'Ц','z'=>'С','x'=>'Ю','c'=>'У',
'v'=>'Н','b'=>'Й','n'=>'Ф','m'=>'Ш',','=>'В','.'=>'А','/'=>'.','~'=>'і','!'=>'!',
'@'=>'"','#'=>'#','$'=>';','%'=>'%','^'=>':','&'=>'?','*'=>'*','('=>'(',')'=>')',
'Q'=>'к','W'=>'г','E'=>'х','R'=>'л','T'=>'е','Y'=>'о','U'=>'з','I'=>'ы','O'=>'э',
'P'=>'ъ','{'=>'и','}'=>'я','A'=>'ж','S'=>'щ','D'=>'ч','F'=>'б','G'=>'р','H'=>'т',
'J'=>'п','K'=>'м','L'=>'д',':'=>'ц','"'=>'ь','Z'=>'с','X'=>'ю','C'=>'у','V'=>'н',
'B'=>'й','N'=>'ф','M'=>'ш','<'=>'в','>'=>'а','?'=>','
};
definit()
{
message('Russian KOI8-R input module! Bind "enable_koi8r_input" and enjoy! Copyright (C) 2006 Steven Orko ');
koi8r:['`'] =_UTF8Chr(1105);
koi8r:['q'] =_UTF8Chr(1081);
koi8r:['w'] =_UTF8Chr(1094);
koi8r:['e'] =_UTF8Chr(1091);
koi8r:['r'] =_UTF8Chr(1082);
koi8r:['t'] =_UTF8Chr(1077);
koi8r:['y'] =_UTF8Chr(1085);
koi8r:['u'] =_UTF8Chr(1075);
koi8r:['i'] =_UTF8Chr(1096);
koi8r:['o'] =_UTF8Chr(1097);
koi8r:['p'] =_UTF8Chr(1079);
koi8r:['['] =_UTF8Chr(1093);
koi8r:[']'] =_UTF8Chr(1098);
koi8r:['a'] =_UTF8Chr(1092);
koi8r:['s'] =_UTF8Chr(1099);
koi8r:['d'] =_UTF8Chr(1074);
koi8r:['f'] =_UTF8Chr(1072);
koi8r:['g'] =_UTF8Chr(1087);
koi8r:['h'] =_UTF8Chr(1088);
koi8r:['j'] =_UTF8Chr(1086);
koi8r:['k'] =_UTF8Chr(1083);
koi8r:['l'] =_UTF8Chr(1076);
koi8r:[';'] =_UTF8Chr(1078);
koi8r:['"'] = _UTF8Chr(1101);
koi8r:['z'] =_UTF8Chr(1103);
koi8r:['x'] =_UTF8Chr(1095);
koi8r:['c'] =_UTF8Chr(1089);
koi8r:['v'] =_UTF8Chr(1084);
koi8r:['b'] =_UTF8Chr(1080);
koi8r:['n'] =_UTF8Chr(1090);
koi8r:['m'] =_UTF8Chr(1100);
koi8r:[','] =_UTF8Chr(1073);
koi8r:['.'] =_UTF8Chr(1102);
koi8r:['~'] =_UTF8Chr(1025);
koi8r:['Q'] =_UTF8Chr(1049);
koi8r:['W'] =_UTF8Chr(1062);
koi8r:['E'] =_UTF8Chr(1059);
koi8r:['R'] =_UTF8Chr(1050);
koi8r:['T'] =_UTF8Chr(1045);
koi8r:['Y'] =_UTF8Chr(1053);
koi8r:['U'] =_UTF8Chr(1043);
koi8r:['I'] =_UTF8Chr(1064);
koi8r:['O'] =_UTF8Chr(1065);
koi8r:['P'] =_UTF8Chr(1047);
koi8r:['{'] =_UTF8Chr(1061);
koi8r:['}'] =_UTF8Chr(1066);
koi8r:['A'] =_UTF8Chr(1060);
koi8r:['S'] =_UTF8Chr(1067);
koi8r:['D'] =_UTF8Chr(1042);
koi8r:['F'] =_UTF8Chr(1040);
koi8r:['G'] =_UTF8Chr(1055);
koi8r:['H'] =_UTF8Chr(1056);
koi8r:['J'] =_UTF8Chr(1057);
koi8r:['K'] =_UTF8Chr(1051);
koi8r:['L'] =_UTF8Chr(1044);
koi8r:[':'] =_UTF8Chr(1046);
koi8r:['"'] =_UTF8Chr(1069);
koi8r:['Z'] =_UTF8Chr(1071);
koi8r:['X'] =_UTF8Chr(1063);
koi8r:['C'] =_UTF8Chr(1054);
koi8r:['V'] =_UTF8Chr(1052);
koi8r:['B'] =_UTF8Chr(1048);
koi8r:['N'] =_UTF8Chr(1058);
koi8r:['M'] =_UTF8Chr(1068);
koi8r:['<'] =_UTF8Chr(1041);
koi8r:['>'] =_UTF8Chr(1070);
}
defload()
{
message('Russian KOI8-R input module! Bind "enable_koi8r_input" and enjoy! Copyright (C) 2006 Steven Orko ');
}
_command void enable_koi8r_input()
{
while(1)
{
message('Russian KOI8-R input activated. Press "ESC" to disable it!');
key = get_event('K');
// message(event2name(key));
if(event2name(key)=='F7')
{
message('Russian KOI8-R input disabled.');
break;
};
if(event2name(key)=="\'")
{
_insert_text(_UTF8Chr(1101));
}else
if(koi8r._indexin(event2name(key)))
{
_insert_text(koi8r:[event2name(key)]);
}else
{
call_key(key);
};
} ; /*
for (i = 1040; i < 1106; ++i) {
_insert_text(_UTF8Chr(i)" - "i" \n ");
} */
};