In case you change your mind about using code...
Do a search for acad.dvb, and copy it to your recognized support directory. Press Alt+F11, and copy paste the following code to the beginning of the ThisDrawing module.
Option Explicit
Private Const VK_CAPITAL = &H14
Private Type KeyboardBytes
kbByte(0 To 255) As Byte
End Type
Private kbArray As KeyboardBytes
Private Declare Function GetKeyState Lib "user32" _
(ByVal nVirtKey As Long) As Long
Private Declare Function GetKeyboardState Lib "user32" _
(kbArray As KeyboardBytes) As Long
Private Declare Function SetKeyboardState Lib "user32" _
(kbArray As KeyboardBytes) As Long
Private Declare Function GetForegroundWindow Lib "user32" () As Long
Then copy/paste this code to the end of the module.
Private Sub AcadDocument_BeginCommand(ByVal CommandName As String)
If CommandName = "TEXT" Or CommandName = "DTEXT" Or _
CommandName = "DDEDIT" Or CommandName = "MTEDIT" Or _
CommandName = "ATTEDIT" Or CommandName = "EATTEDIT" Or _
CommandName = "DIMLINEAR" Or CommandName = "QLEADER" Or _
CommandName = "MTEXT" Then
'add any other command names you want caps on for
'be sure to add them to the endcommand section below as well
GetKeyboardState kbArray
kbArray.kbByte(VK_CAPITAL) = 1
SetKeyboardState kbArray
End If
End Sub
Private Sub AcadDocument_EndCommand(ByVal CommandName As String)
If CommandName = "TEXT" Or CommandName = "DTEXT" Or _
CommandName = "DDEDIT" Or CommandName = "MTEDIT" Or _
CommandName = "ATTEDIT" Or CommandName = "EATTEDIT" Or _
CommandName = "DIMLINEAR" Or CommandName = "QLEADER" Or _
CommandName = "MTEXT" Then
GetKeyboardState kbArray
kbArray.kbByte(VK_CAPITAL) = 0
SetKeyboardState kbArray
End If
End Sub
You will never be plagued by the caps monster ever again, unless you so choose to be.