/// <summary> /// change the event names of scanbutton to StateLeftScan1 and DeltaLeftScan1 /// will also map all side buttons to scan /// </summary> public static void mapKey() { ITC_KEYBOARD.CUSBkeys _cusb = new ITC_KEYBOARD.CUSBkeys(); ITC_KEYBOARD.CUSBkeys.usbKeyStruct _usbKey = new CUSBkeys.usbKeyStruct(); //although we read the scan button setting here, we 'adjust' need to adjust it int iIdx = _cusb.getKeyStruct(0, CUsbKeyTypes.HWkeys.SCAN_Button_KeyLang1, ref _usbKey); //add two new events string sReg = ITC_KEYBOARD.CUSBkeys.getRegLocation(); Microsoft.Win32.RegistryKey reg = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(sReg + "\\Events\\State", true); reg.SetValue("Event5", "StateLeftScan1"); reg = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(sReg + "\\Events\\Delta", true); reg.SetValue("Event5", "DeltaLeftScan1"); //change the scan button to fire these events if (iIdx != -1) { _OldUsbKey = _usbKey; //save for later restore //adjust the saved scan button: _OldUsbKey.bFlagHigh = CUsbKeyTypes.usbFlagsHigh.NoFlag; _OldUsbKey.bFlagMid = CUsbKeyTypes.usbFlagsMid.NoRepeat | CUsbKeyTypes.usbFlagsMid.Silent; _OldUsbKey.bFlagLow = CUsbKeyTypes.usbFlagsLow.NamedEventIndex; _OldUsbKey.bIntScan = 1; addLog("scanbutton key index is " + iIdx.ToString()); //make a standard scan button _usbKey.bFlagHigh = CUsbKeyTypes.usbFlagsHigh.NoFlag; _usbKey.bFlagMid = CUsbKeyTypes.usbFlagsMid.NoRepeat | CUsbKeyTypes.usbFlagsMid.Silent; _usbKey.bFlagLow = CUsbKeyTypes.usbFlagsLow.NamedEventIndex; _usbKey.bIntScan = 5; //let it point to our named Events for (int i = 0; i < _cusb.getNumPlanes(); i++) { addLog("using plane: " + i.ToString()); if (_cusb.setKey(0, _usbKey.bScanKey, _usbKey) == 0) { addLog("setKey for scanbutton key OK"); } else { addLog("setKey for scanbutton key failed"); } } _cusb.writeKeyTables(); _cusb = null; mapAllSide2SCAN(); } else { addLog("Could not get index for scanbutton key"); } }
/// <summary> /// change the event names of scanbutton to StateLeftScan1 and DeltaLeftScan1 /// </summary> public static void mapKey() { ITC_KEYBOARD.CUSBkeys _cusb = new ITC_KEYBOARD.CUSBkeys(); ITC_KEYBOARD.CUSBkeys.usbKeyStruct _usbKey = new CUSBkeys.usbKeyStruct(); //although we read the scan button setting here, we 'adjust' need to adjust it int iIdx = _cusb.getKeyStruct(0, CUsbKeyTypes.HWkeys.SCAN_Button_KeyLang1, ref _usbKey); //add two new events string sReg = ITC_KEYBOARD.CUSBkeys.getRegLocation(); Microsoft.Win32.RegistryKey reg = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(sReg + "\\Events\\State", true); reg.SetValue("Event5", "StateLeftScan1"); reg = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(sReg + "\\Events\\Delta", true); reg.SetValue("Event5", "DeltaLeftScan1"); //change the scan button to fire these events if (iIdx != -1) { _OldUsbKey = _usbKey; //save for later restore //adjust the saved scan button: _OldUsbKey.bFlagHigh = CUsbKeyTypes.usbFlagsHigh.NoFlag; _OldUsbKey.bFlagMid = CUsbKeyTypes.usbFlagsMid.NoRepeat | CUsbKeyTypes.usbFlagsMid.Silent; _OldUsbKey.bFlagLow = CUsbKeyTypes.usbFlagsLow.NamedEventIndex; _OldUsbKey.bIntScan = 1; addLog("scanbutton key index is " + iIdx.ToString()); //make a standard scan button _usbKey.bFlagHigh = CUsbKeyTypes.usbFlagsHigh.NoFlag; _usbKey.bFlagMid = CUsbKeyTypes.usbFlagsMid.NoRepeat | CUsbKeyTypes.usbFlagsMid.Silent; _usbKey.bFlagLow = CUsbKeyTypes.usbFlagsLow.NamedEventIndex; _usbKey.bIntScan = 5; //let it point to our named Events for (int i = 0; i < _cusb.getNumPlanes(); i++) { addLog("using plane: " + i.ToString()); if (_cusb.setKey(0, _usbKey.bScanKey, _usbKey) == 0) addLog("setKey for scanbutton key OK"); else addLog("setKey for scanbutton key failed"); } _cusb.writeKeyTables(); _cusb = null; mapAllSide2SCAN(); } else { addLog("Could not get index for scanbutton key"); } }
/// <summary> /// change the event names of scanbutton to StateLeftScan1 and DeltaLeftScan1 /// </summary> void mapKey() { ITC_KEYBOARD.CUSBkeys _cusb = new ITC_KEYBOARD.CUSBkeys(); ITC_KEYBOARD.CUSBkeys.usbKeyStruct _usbKey = new CUSBkeys.usbKeyStruct(); int iIdx = _cusb.getKeyStruct(0, CUsbKeyTypes.HWkeys.SCAN_Button_KeyLang1, ref _usbKey); //add two new events string sReg = ITC_KEYBOARD.CUSBkeys.getRegLocation(); Microsoft.Win32.RegistryKey reg = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(sReg + "\\Events\\State", true); reg.SetValue("Event5", "StateLeftScan1"); reg = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(sReg + "\\Events\\Delta", true); reg.SetValue("Event5", "DeltaLeftScan1"); //change the scan button to fire these events if (iIdx != -1) { _OldUsbKey = _usbKey; //save for later restore addLog("scanbutton key index is " + iIdx.ToString()); //_usbKey.bFlagHigh = CUsbKeyTypes.usbFlagsHigh.NoFlag; //_usbKey.bFlagMid = CUsbKeyTypes.usbFlagsMid.NOOP; //_usbKey.bFlagLow = CUsbKeyTypes.usbFlagsLow.NormalKey; _usbKey.bIntScan = 5; for (int i = 0; i < _cusb.getNumPlanes(); i++) { addLog("using plane: " + i.ToString()); if (_cusb.setKey(0, _usbKey.bScanKey, _usbKey) == 0) { addLog("setKey for scanbutton key OK"); } else { addLog("setKey for scanbutton key failed"); } } _cusb.writeKeyTables(); } else { addLog("Could not get index for scanbutton key"); } }
/// <summary> /// change the event names of scanbutton to StateLeftScan1 and DeltaLeftScan1 /// </summary> void mapKey() { ITC_KEYBOARD.CUSBkeys _cusb = new ITC_KEYBOARD.CUSBkeys(); ITC_KEYBOARD.CUSBkeys.usbKeyStruct _usbKey = new CUSBkeys.usbKeyStruct(); int iIdx = _cusb.getKeyStruct(0, CUsbKeyTypes.HWkeys.SCAN_Button_KeyLang1, ref _usbKey); //add two new events string sReg = ITC_KEYBOARD.CUSBkeys.getRegLocation(); Microsoft.Win32.RegistryKey reg = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(sReg + "\\Events\\State", true); reg.SetValue("Event5", "StateLeftScan1"); reg = Microsoft.Win32.Registry.LocalMachine.OpenSubKey(sReg + "\\Events\\Delta", true); reg.SetValue("Event5", "DeltaLeftScan1"); //change the scan button to fire these events if (iIdx != -1) { _OldUsbKey = _usbKey; //save for later restore addLog("scanbutton key index is " + iIdx.ToString()); //_usbKey.bFlagHigh = CUsbKeyTypes.usbFlagsHigh.NoFlag; //_usbKey.bFlagMid = CUsbKeyTypes.usbFlagsMid.NOOP; //_usbKey.bFlagLow = CUsbKeyTypes.usbFlagsLow.NormalKey; _usbKey.bIntScan = 5; for (int i = 0; i < _cusb.getNumPlanes(); i++) { addLog("using plane: " + i.ToString()); if (_cusb.setKey(0, _usbKey.bScanKey, _usbKey) == 0) addLog("setKey for scanbutton key OK"); else addLog("setKey for scanbutton key failed"); } _cusb.writeKeyTables(); } else { addLog("Could not get index for scanbutton key"); } }