---
name: "SoSpaceballButtonEvent"
section: "3"
platform: "linux"
package: "coin"
version: "1:4.0.10-1"
release: "Arch Linux 2026-11-01"
platforms: ["linux"]
url: "https://new.carta.tech/SoSpaceballButtonEvent"
---

# SoSpaceballButtonEvent(3)

The SoSpaceballButtonEvent class contains information about spaceball button interaction.

## NAME

SoSpaceballButtonEvent - The **SoSpaceballButtonEvent** class contains information about spaceball button interaction.

## SYNOPSIS

\#include \<Inventor/events/SoSpaceballButtonEvent.h\>

Inherits **SoButtonEvent**.

### Public Types

enum **Button** { **ANY**, **BUTTON1**, **BUTTON2**, **BUTTON3**, **BUTTON4**, **BUTTON5**, **BUTTON6**, **BUTTON7**, **BUTTON8**, **PICK** }\

Public Types inherited from **SoButtonEvent** enum **State** { **UP**, **DOWN**, **UNKNOWN** }\

### Public Member Functions

virtual **SoType** **getTypeId** (void) const\
 **SoSpaceballButtonEvent** (void)\
 virtual **~SoSpaceballButtonEvent** ()\
 void **setButton** (**Button** button)\
 **Button** **getButton** (void) const\

Public Member Functions inherited from **SoButtonEvent** **SoButtonEvent** (void)\
 virtual **~SoButtonEvent** ()\
 void **setState** (**State** state)\
 **State** **getState** (void) const\

Public Member Functions inherited from **SoEvent** **SoEvent** (void)\
 virtual **~SoEvent** ()\
 SbBool **isOfType** (**SoType** type) const\
 void **setTime** (const **SbTime** t)\
 **SbTime** **getTime** (void) const\
 void **setPosition** (const **SbVec2s** &p)\
 const **SbVec2s** & **getPosition** (void) const\
 const **SbVec2s** & **getPosition** (const **SbViewportRegion** &vpRgn) const\
 const **SbVec2f** & **getNormalizedPosition** (const **SbViewportRegion** &vpRgn) const\
 void **setShiftDown** (SbBool isDown)\
 SbBool **wasShiftDown** (void) const\
 void **setCtrlDown** (SbBool isDown)\
 SbBool **wasCtrlDown** (void) const\
 void **setAltDown** (SbBool isDown)\
 SbBool **wasAltDown** (void) const\

### Static Public Member Functions

static **SoType** **getClassTypeId** (void)\
 static void **initClass** (void)\
 static SbBool **isButtonPressEvent** (const **SoEvent** \*e, **Button** whichButton)\
 static SbBool **isButtonReleaseEvent** (const **SoEvent** \*e, **Button** whichButton)\
 static SbBool **enumToString** (**Button** enumval, **SbString** &stringrep)\

Static Public Member Functions inherited from **SoButtonEvent** static **SoType** **getClassTypeId** (void)\
 static void **initClass** (void)\
 static SbBool **enumToString** (**State** enumval, **SbString** &stringrep)\

Static Public Member Functions inherited from **SoEvent** static **SoType** **getClassTypeId** (void)\
 static void **initClass** (void)\

## Detailed Description

The **SoSpaceballButtonEvent** class contains information about spaceball button interaction.

When the user presses any buttons on a spaceball device, these will be translated from a system specific event into a Coin event and sent to the scene graph by using instances of this class.

**See also**

**SoEvent**, **SoButtonEvent**, **SoMouseButtonEvent**, **SoKeyboardEvent**

**SoEventCallback**, **SoHandleEventAction**

## Member Enumeration Documentation

### enum SoSpaceballButtonEvent::Button

This enum contains all spaceball buttons detected by Coin.

**Enumerator**

- ***ANY***

  Any of the buttons.

- ***BUTTON1***

  Spaceball button 1.

- ***BUTTON2***

  Spaceball button 2.

- ***BUTTON3***

  Spaceball button 3.

- ***BUTTON4***

  Spaceball button 4.

- ***BUTTON5***

  Spaceball button 5.

- ***BUTTON6***

  Spaceball button 6.

- ***BUTTON7***

  Spaceball button 7.

- ***BUTTON8***

  Spaceball button 8.

- ***PICK***

  Spaceball pick button.

## Constructor & Destructor Documentation

### SoSpaceballButtonEvent::SoSpaceballButtonEvent (void )

Constructor.

### SoSpaceballButtonEvent::~SoSpaceballButtonEvent () \[virtual\]

Destructor.

## Member Function Documentation

### SoType SoSpaceballButtonEvent::getClassTypeId (void ) \[static\]

This static method returns the **SoType** object associated with objects of this class.

### SoType SoSpaceballButtonEvent::getTypeId (void ) const \[virtual\]

Returns the type identification of an object derived from a class inheriting **SoEvent**. This is used for runtime type checking and "downward" casting.

Reimplemented from **SoButtonEvent**.

### void SoSpaceballButtonEvent::initClass (void ) \[static\]

Initialize the type information data.

### void SoSpaceballButtonEvent::setButton (SoSpaceballButtonEvent::Button buttonarg)

Set the value of the button which the user interacted with.

This method is used from the window specific device classes when translating events to the generic Coin library.

**See also**

**getButton()**

### SoSpaceballButtonEvent::Button SoSpaceballButtonEvent::getButton (void ) const

Returns the value of the button which was pressed or released.

**See also**

**getState()**

**wasShiftDown()**, **wasCtrlDown()**, **wasAltDown()**, **getPosition()**, **getTime()**

### SbBool SoSpaceballButtonEvent::isButtonPressEvent (const SoEvent \* e, SoSpaceballButtonEvent::Button whichButton) \[static\]

Convenience method for quickly checking if the given event is a press on the given button, whichButton.

**See also**

**isButtonReleaseEvent()**, **isOfType()**, **getButton()**, **getState()**

### SbBool SoSpaceballButtonEvent::isButtonReleaseEvent (const SoEvent \* e, SoSpaceballButtonEvent::Button whichButton) \[static\]

Convenience method for quickly checking if the given event is a release of the given button, whichButton.

**See also**

**isButtonPressEvent()**, **isOfType()**, **getButton()**, **getState()**

### SbBool SoSpaceballButtonEvent::enumToString (Button enumval, SbString & stringrep) \[static\]

Converts from an enum value of type **SoMouseButtonEvent::Button** to a string containing the enum symbol.

This function is an extension for Coin, and it is not available in the original SGI Open Inventor v2.1 API.\
 **Since**

Coin 3.0

## Author

Generated automatically by Doxygen for Coin from the source code.
