1# Button (lv_btn) 2 3## Overview 4 5Buttons have no new features compared to the [Base object](/widgets/obj). They are useful for semantic purposes and have slightly different default settings. 6 7Buttons, by default, differ from Base object in the following ways: 8- Not scrollable 9- Added to the default group 10- Default height and width set to `LV_SIZE_CONTENT` 11 12## Parts and Styles 13- `LV_PART_MAIN` The background of the button. Uses the typical background style properties. 14 15## Usage 16 17There are no new features compared to [Base object](/widgets/obj). 18 19## Events 20- `LV_EVENT_VALUE_CHANGED` when the `LV_OBJ_FLAG_CHECKABLE` flag is enabled and the object is clicked. The event happens on transition to/from the checked state. 21 22 23Learn more about [Events](/overview/event). 24 25## Keys 26Note that the state of `LV_KEY_ENTER` is translated to `LV_EVENT_PRESSED/PRESSING/RELEASED` etc. 27 28See the events of the [Base object](/widgets/obj) too. 29 30Learn more about [Keys](/overview/indev). 31 32## Example 33```eval_rst 34 35.. include:: ../../../examples/widgets/btn/index.rst 36 37``` 38 39## API 40 41```eval_rst 42 43.. doxygenfile:: lv_btn.h 44 :project: lvgl 45 46``` 47