xlat_config_110602.diff (1,442 bytes)
Index: config.cpp
===================================================================
--- config.cpp (revision 6307)
+++ config.cpp (working copy)
@@ -977,7 +977,32 @@
if (Opt.strExecuteBatchType.IsEmpty()) // �����������
Opt.strExecuteBatchType=constBatchExt;
+ // ���������� XLat �� ������� ��������� qwerty<->�����
+ if (Opt.XLat.Table[0].IsEmpty())
{
+ bool RussianExists=false;
+ wchar_t LayoutName[KL_NAMELENGTH];
+ HKL Layouts[32];
+ UINT Count=GetKeyboardLayoutList(ARRAYSIZE(Layouts), Layouts);
+ for (UINT I=0; !RussianExists && I<Count; I++)
+ {
+ if (((DWORD_PTR)(Layouts[I]) & 0xFFFF) == 0x0419)
+ {
+ RussianExists = true;
+ }
+ }
+ if (RussianExists)
+ {
+ Opt.XLat.Flags = 0x00010001;
+ Opt.XLat.Table[0].Clear(); Opt.XLat.Table[0].Append("�����������������������������������������������������������", 1251);
+ Opt.XLat.Table[1].Clear(); Opt.XLat.Table[1].Append("#FDULTPBQRKVYJGHCNEA{WXIO}SMZfdultpbqrkvyjghcnea[wxio]sm'z`~<>", 1251);
+ Opt.XLat.Rules[0].Clear(); Opt.XLat.Rules[0].Append(",??&./�,�.:^�:�;;$\"@�\"", 1251);
+ Opt.XLat.Rules[1].Clear(); Opt.XLat.Rules[1].Append("?,&?/.,�.�^::�;�$;@\"\"�", 1251);
+ Opt.XLat.Rules[2].Clear(); Opt.XLat.Rules[2].Append("^::��^$;;��$@\"\"��@&??,,��&/..��/", 1251);
+ }
+ }
+
+ {
Opt.XLat.CurrentLayout=0;
memset(Opt.XLat.Layouts,0,sizeof(Opt.XLat.Layouts));
string strXLatLayouts;