// コンストラクタ public CInputManager(IntPtr hWnd) { this.list入力デバイス = new List <IInputDevice>(10); #region [ Enumerate keyboard/mouse: exception is masked if keyboard/mouse is not connected ] CInputKeyboard cinputkeyboard = null; CInputMouse cinputmouse = null; try { cinputkeyboard = new CInputKeyboard(); cinputmouse = new CInputMouse(); } catch { } if (cinputkeyboard != null) { this.list入力デバイス.Add(cinputkeyboard); } if (cinputmouse != null) { this.list入力デバイス.Add(cinputmouse); } #endregion #region [ Enumerate joypad ] try { for (int joynum = 0; joynum < 8; joynum++) //2020.06.28 Mr-Ojii joystickの検出数を返す関数が見つからないので適当に8個で { if (OpenTK.Input.Joystick.GetState(joynum).IsConnected) { this.list入力デバイス.Add(new CInputJoystick(joynum)); } } } catch (Exception e) { Trace.WriteLine(e.ToString()); } #endregion try { this.proc = new MIDIINPROC(this.MidiInCallback); for (int i = 0; i < BassMidi.BASS_MIDI_InGetDeviceInfos(); i++) { BassMidi.BASS_MIDI_InInit(i, this.proc, IntPtr.Zero); BassMidi.BASS_MIDI_InStart(i); CInputMIDI item = new CInputMIDI((uint)i); this.list入力デバイス.Add(item); } } catch (Exception e) { Trace.TraceError(e.ToString()); } }