I should also note that you can disable CAD by using ScanCode Mappings.
However this will remove the function of the CTRL and ALT keys so may
not be suitable for your application: Follows is an INF file that will
do what you need:
;Info on INF syntax:
http://www.leeos.com/infdoc.html
[Version]
Signature=$CHICAGO$
;
;
http://www.microsoft.com/whdc/device/input/w2kscan-map.mspx
;
;
http://www.quadibloc.com/comp/scan.htm <-- Contains a scancode (set
1) table about 1/3 down
;
http://66.102.7.104/search?q=cache:...et\Control\Keyboard+Layout+ScanCode+Map&hl=en
;Remember that we need to take the little endian effect into account
;so reference documents may list a scan code (SC) as 0xE044 (F10) but
this
;needs to be written as 0x44E0 to the scan code mapper.
[DefaultInstall]
AddReg=CAD.Disable
;CopyFiles=Files.Add
[DefaultUninstall]
DelReg=CAD.Disable
[CAD.Disable]
;***** DON'T FORGET LITTLE ENDIAN CONVERSION ****
;HKLM,"SubKey",Value,Type,Data
;Data (len)[start offset]-[end offset] [description]
HKLM,"%KEYPATH%","%VALUE%",%REG_BINARY%, \
00,00,00,00, \ ;(04)00-03 Header
00,00,00,00, \ ;(04)04-07 Flags
05,00,00,00, \ ;(04)08-11 ScanCode Count (including null term)
00,00,38,e0, \ ;(04)12-15 Disable R Alt
00,00,38,00, \ ;(04)16-19 Disable L Alt
00,00,1d,e0, \ ;(04)20-23 Disable R Ctrl
00,00,1d,00, \ ;(04)24-27 Disable L Ctrl
00,00,00,00 ;(04)28-31 Last 4 Null Terminator
[Strings]
;Registry Consts
REG_BINARY = 0x00000001
REG_BINARY_NOCLOBBER = 0x00000003
;Custom Strings
KEYPATH="SYSTEM\CurrentControlSet\Control\Keyboard Layout"
VALUE="Scancode Map"