# LeftButtonPressEvent to vtkButtonWidget

**URL:** https://discourse.vtk.org/t/leftbuttonpressevent-to-vtkbuttonwidget/4607
**Category:** Development
**Created:** [November 9, 2020, 8:06am UTC](https://discourse.vtk.org/t/leftbuttonpressevent-to-vtkbuttonwidget/4607 "2020-11-09T08:06:46Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![learn\_forever](https://discourse.vtk.org/user_avatar/discourse.vtk.org/learn_forever/32/754_2.png) [@learn\_forever](https://discourse.vtk.org/u/learn_forever)
#### Post date: [November 9, 2020, 8:06am UTC](https://discourse.vtk.org/t/leftbuttonpressevent-to-vtkbuttonwidget/4607/1 "2020-11-09T08:06:46Z")

</div>

Hi Experts,

I added a left-button press event handler for the button widget, code like below.  
vtkButtonWidget buttonWidget = vtkButtonWidget.New();  
buttonWidget.SetInteractor(this.GetInteractor());  
buttonWidget.SetRepresentation(buttonRepresentation);  
buttonWidget.LeftButtonPressEvt += ButtonWidget\_LeftButtonPressEvt;  
Unfortunately, this events never got triggered.

I dig into the VTK source code and found the LeftButtonPressEvent was translated to the widget event. See codes below. So, my question is: If I still want to listen to the LeftButtonPressEvent, I need to re-write the widget callback mapper? Are ther any other good solutions or suggestions? Thanks a lot.

vtkButtonWidget::vtkButtonWidget()  
{  
// Set the initial state  
this-\>WidgetState = vtkButtonWidget::Start;

// Okay, define the events  
this-\>CallbackMapper-\>SetCallbackMethod(vtkCommand::LeftButtonPressEvent,  
vtkWidgetEvent::Select,  
this, vtkButtonWidget::SelectAction);  
…  
}

---

<div class="post-metadata">

### Author: ![mortifiedpenguin](https://discourse.vtk.org/letter_avatar_proxy/v4/letter/m/b3f665/32.png) [@mortifiedpenguin](https://discourse.vtk.org/u/mortifiedpenguin)
#### Post date: [March 4, 2024, 9:27am UTC](https://discourse.vtk.org/t/leftbuttonpressevent-to-vtkbuttonwidget/4607/2 "2024-03-04T09:27:16Z")

</div>

Hi, I’m encountering the same problem, did you find a solution or workaround for it?
