Do not receive event properly (multi window / multi device)

Post questions, comments and feedback to our 3Dconnexion Windows Development Team.

Moderator: Moderators

Post Reply
Jon
Posts: 5
Joined: Tue Aug 09, 2016 4:52 am

Do not receive event properly (multi window / multi device)

Post by Jon »

Hi!

Still struggeling with this API. The scenario is like following:

Application main thread
MainWindow(hidden)
RenderWindow (DirectX)
(Additional render windows)


I need to be able to read the input from two devices, so i cannot use SiGrabDevice, because when I do, both devices act as a single device.

The problem is that I don't receive the events as expected. It seems it has something to do with keyboard focus. I want the events to always come to the window i supply to SiOpenWinInit()

I've tried:
  • SiOpenWinInit in only MainWindow
  • SiOpenWinInit in only RenderWindow
  • SiOpenWinInit for both MainWindow and Renderwindow
  • SiOpenWinInit in a new child window to MainWindow
  • SiOpenWinInit in a new child window to RenderWindow
  • SiOpenWinInit in a new child window for both MainWindow and Renderwindow
  • A new window in a separate thread
(with the SiOpenWinInit i refer to the whole initialization and message loop etc, but that works totally fine)

In another single window application everything works fine (using the same methologies as above only difference is that it is a normal windows GUI application).

I've also used SPY++ to confirm that none of my windows (main or render) receive the messages (msg=0xC1B4) as in the GUI window application.

Is there any way to force the SDK so send the messages to the specified window handle regardless of keyboard focus?

It might be a bit unclear of what I'm doing, I could hand over code snippets when requested.

Thanks!
Jon
Posts: 5
Joined: Tue Aug 09, 2016 4:52 am

Re: Do not receive event properly (multi window / multi devi

Post by Jon »

To clarify:
  • Application main thread
    • MainWindow(hidden)
      • RenderWindow (DirectX)
      • (Additional render windows) (DirectX)
Post Reply