Revision: 37513
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=37513
Author:   merwin
Date:     2011-06-15 16:05:10 +0000 (Wed, 15 Jun 2011)
Log Message:
-----------
handle up to 32 buttons (up from 16), for SpacePilot PRO

Modified Paths:
--------------
    branches/merwin-spacenav/intern/ghost/intern/GHOST_NDOFManager.cpp
    branches/merwin-spacenav/intern/ghost/intern/GHOST_NDOFManager.h
    branches/merwin-spacenav/intern/ghost/intern/GHOST_NDOFManagerX11.cpp
    branches/merwin-spacenav/intern/ghost/intern/GHOST_SystemWin32.cpp

Modified: branches/merwin-spacenav/intern/ghost/intern/GHOST_NDOFManager.cpp
===================================================================
--- branches/merwin-spacenav/intern/ghost/intern/GHOST_NDOFManager.cpp  
2011-06-15 14:06:25 UTC (rev 37512)
+++ branches/merwin-spacenav/intern/ghost/intern/GHOST_NDOFManager.cpp  
2011-06-15 16:05:10 UTC (rev 37513)
@@ -75,13 +75,13 @@
                m_buttons &= ~mask; // clear this button's bit
        }
 
-void GHOST_NDOFManager::updateButtons(unsigned short button_bits, GHOST_TUns64 
time)
+void GHOST_NDOFManager::updateButtons(unsigned button_bits, GHOST_TUns64 time)
        {
        GHOST_IWindow* window = m_system.getWindowManager()->getActiveWindow();
 
-       unsigned short diff = m_buttons ^ button_bits;
+       unsigned diff = m_buttons ^ button_bits;
 
-       for (int i = 0; i < 16; ++i)
+       for (int i = 0; i <= 31; ++i)
                {
                unsigned short mask = 1 << i;
 
@@ -142,4 +142,3 @@
 
        return true;
        }
-

Modified: branches/merwin-spacenav/intern/ghost/intern/GHOST_NDOFManager.h
===================================================================
--- branches/merwin-spacenav/intern/ghost/intern/GHOST_NDOFManager.h    
2011-06-15 14:06:25 UTC (rev 37512)
+++ branches/merwin-spacenav/intern/ghost/intern/GHOST_NDOFManager.h    
2011-06-15 16:05:10 UTC (rev 37513)
@@ -43,7 +43,7 @@
        void updateRotation(short r[3], GHOST_TUns64 time);
        // send events immediately for changed buttons
        void updateButton(int button_number, bool press, GHOST_TUns64 time);
-       void updateButtons(unsigned short button_bits, GHOST_TUns64 time);
+       void updateButtons(unsigned button_bits, GHOST_TUns64 time);
 
        // processes most recent raw data into an NDOFMotion event and sends it
        // returns whether an event was sent
@@ -54,7 +54,7 @@
 
        short m_translation[3];
        short m_rotation[3];
-       unsigned short m_buttons; // bit field
+       unsigned m_buttons; // bit field
 
        GHOST_TUns64 m_motionTime; // in milliseconds
        GHOST_TUns64 m_prevMotionTime; // time of most recent Motion event sent
@@ -65,4 +65,3 @@
 };
 
 #endif
-

Modified: branches/merwin-spacenav/intern/ghost/intern/GHOST_NDOFManagerX11.cpp
===================================================================
--- branches/merwin-spacenav/intern/ghost/intern/GHOST_NDOFManagerX11.cpp       
2011-06-15 14:06:25 UTC (rev 37512)
+++ branches/merwin-spacenav/intern/ghost/intern/GHOST_NDOFManagerX11.cpp       
2011-06-15 16:05:10 UTC (rev 37513)
@@ -83,4 +83,3 @@
                }
        return anyProcessed;
        }
-

Modified: branches/merwin-spacenav/intern/ghost/intern/GHOST_SystemWin32.cpp
===================================================================
--- branches/merwin-spacenav/intern/ghost/intern/GHOST_SystemWin32.cpp  
2011-06-15 14:06:25 UTC (rev 37512)
+++ branches/merwin-spacenav/intern/ghost/intern/GHOST_SystemWin32.cpp  
2011-06-15 16:05:10 UTC (rev 37513)
@@ -859,20 +859,20 @@
                        }
                case 3: // buttons
                        {
-                       unsigned short buttons;
+                       unsigned buttons;
                        memcpy(&buttons, data + 1, sizeof(buttons));
 
-                       printf("buttons:");
-                       if (buttons)
-                               {
-                               // work our way through the bit mask
-                               for (int i = 0; i < 16; ++i)
-                                       if (buttons & (1 << i))
-                                               printf(" %d", i + 1);
-                               printf("\n");
-                               }
-                       else
-                               printf(" none\n");
+//                     printf("buttons:");
+//                     if (buttons)
+//                             {
+//                             // work our way through the bit mask
+//                             for (int i = 0; i < 16; ++i)
+//                                     if (buttons & (1 << i))
+//                                             printf(" %d", i + 1);
+//                             printf("\n");
+//                             }
+//                     else
+//                             printf(" none\n");
 
                        m_ndofManager->updateButtons(buttons, 
getMilliSeconds());
                        break;

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to