diff --git a/libguh/interfaces/button.json b/libguh/interfaces/button.json
index 33167c6f..2c63c085 100644
--- a/libguh/interfaces/button.json
+++ b/libguh/interfaces/button.json
@@ -1,7 +1,2 @@
{
- "events": [
- {
- "name": "pressed"
- }
- ]
}
diff --git a/libguh/interfaces/interfaces.qrc b/libguh/interfaces/interfaces.qrc
index 76926b6e..67151ec4 100644
--- a/libguh/interfaces/interfaces.qrc
+++ b/libguh/interfaces/interfaces.qrc
@@ -15,6 +15,10 @@
mediaplayer.json
battery.json
button.json
+ simplebutton.json
+ longpressbutton.json
+ simplemultibutton.json
+ longpressmultibutton.json
diff --git a/libguh/interfaces/longpressbutton.json b/libguh/interfaces/longpressbutton.json
new file mode 100644
index 00000000..bc9c3440
--- /dev/null
+++ b/libguh/interfaces/longpressbutton.json
@@ -0,0 +1,8 @@
+{
+ "extends": "simplebutton",
+ "events": [
+ {
+ "name": "longPressed"
+ }
+ ]
+}
diff --git a/libguh/interfaces/longpressmultibutton.json b/libguh/interfaces/longpressmultibutton.json
new file mode 100644
index 00000000..7baec3d0
--- /dev/null
+++ b/libguh/interfaces/longpressmultibutton.json
@@ -0,0 +1,14 @@
+{
+ "extends": "longpressbutton",
+ "events": [
+ {
+ "name": "longPressed",
+ "params": [
+ {
+ "name": "buttonName",
+ "type": "QString"
+ }
+ ]
+ }
+ ]
+}
diff --git a/libguh/interfaces/simplebutton.json b/libguh/interfaces/simplebutton.json
new file mode 100644
index 00000000..948a683f
--- /dev/null
+++ b/libguh/interfaces/simplebutton.json
@@ -0,0 +1,8 @@
+{
+ "extends": "button",
+ "events": [
+ {
+ "name": "pressed"
+ }
+ ]
+}
diff --git a/libguh/interfaces/simplemultibutton.json b/libguh/interfaces/simplemultibutton.json
new file mode 100644
index 00000000..525fe038
--- /dev/null
+++ b/libguh/interfaces/simplemultibutton.json
@@ -0,0 +1,14 @@
+{
+ "extends": "button",
+ "events": [
+ {
+ "name": "pressed",
+ "params": [
+ {
+ "name": "buttonName",
+ "type": "QString"
+ }
+ ]
+ }
+ ]
+}