Точно также мучался.
Решение такое: рисую при английской раскладке клавиатуры при выполнении команд text и ddedit происходит автоматическое переключение на расский язык после выполнения команды автоматически раскладка клавиатуры переключается на английский вот текст програмы
Declare Function GetKeyboardLayoutName Lib "user32" _
Alias "GetKeyboardLayoutNameA" (pwszKLID As Any) As Long
Declare Function LoadKeyboardLayout Lib "user32" _
Alias "LoadKeyboardLayoutA" (ByVal HKL As String, ByVal Flags As Long) As Long
Public Function switchToRussian()
Dim SS As String
SS = getCurrentLanguage
If InStr(SS, "419") = 0 Then
LoadKeyboardLayout "00000419", 1
End If
End Function
Public Function switchToEnglish()
Dim SS As String
SS = getCurrentLanguage
If InStr(SS, "409") = 0 Then
LoadKeyboardLayout "00000409", 1
End If
End Function
вставляется в редакторе VBA в исполняемый модуль
и
Private Sub AcadDocument_BeginCommand(ByVal CommandName As String)
If CommandName = "DTEXT" Then
switchToRussian
End If
If CommandName = "DDEDIT" Then
switchToRussian
End If
End Sub
Private Sub AcadDocument_EndCommand(ByVal CommandName As String)
If CommandName = "DTEXT" Then
switchToEnglish
End If
If CommandName = "DDEDIT" Then
switchToEnglish
End If
End Sub
вставляется в модуль THISDROWING
попробуйте о сочетании клавиш ctrl+shift практически забываешь (одна проблема при нажатии esc остается руский язык)