OESF Portal | OESF Forum | OESF Wiki | LinuxPDA | #planetgemini chat on matrix.org | #gemini-pda chat on Freenode | #zaurus and #alarmz chat on Freenode | ELSI (coming soon) | Ibiblio

IPB

Welcome Guest ( Log In | Register )

> Use case for silver button, How I made silver button answer/disconnect calls
yoram
post Sep 13 2018, 10:46 AM
Post #1





Group: Members
Posts: 20
Joined: 10-August 18
Member No.: 827,976



beware: this is not a real solution for silver button utilization it's only a hack, poof of concept if you will.

one of the most annoying parts of having Gemini as Sailfish OS smartphone is the need to open it in order to answer a call on the touch screen and then close it to speak conveniently... the natural way would be to use the silver button, but I could not change voicecall-ui or lipstick compositor to read it's events from /dev/input/event1. why ? needs more investigation...

so here is how I did hack to make it happen:
I created mce configuration file with the collowing line:
CODE

[EVDEV]
KEY_SEND=KEY_HOME


that will tell mce to translate silver button event to "home" key event, which makes it raise a powerkey signal with "home-key" argument

in /usr/share/voicecall-ui-jolla I added the following patch
CODE
--- main.qml.orig 2018-09-13 21:40:34.440266047 +0300
+++ /usr/share/voicecall-ui-jolla/main.qml 2018-09-13 17:07:11.751154474 +0300
@@ -336,6 +336,24 @@
}
}

+ NemoDBus.DBusInterface {
+ bus: NemoDBus.DBus.SystemBus
+ service: 'com.nokia.mce'
+ path: '/com/nokia/mce/signal'
+ iface: 'com.nokia.mce.signal'
+ signalsEnabled: true
+
+ function power_button_trigger(event) {
+ if (event == "home-key") {
+ if (main.state === 'incoming') {
+ telephony.incomingCall.answer()
+ } else if (telephony.primaryCall) {
+ telephony.primaryCall.hangup()
+ }
+ }
+ }
+ }
+
MessagesInterface { id: messaging }

VoiceCallManager {

this patch tells the application to handle dbus signal (the one we raised from mce) by answer/hangup according to call state.

this is bad engineering and it sends all running application to "cover" state, which is not nice, but it works.
I'm hoping to create a better solution soon, will be happy to get any leads for Sailfish QML documentation and specific Gemini PDA modifications (if any) in order to do a good job.

have fun
Go to the top of the page
 
+Quote Post

Posts in this topic


Reply to this topicStart new topic
1 User(s) are reading this topic (1 Guests and 0 Anonymous Users)
0 Members:

 



RSS Lo-Fi Version Time is now: 23rd February 2020 - 12:29 PM