ViciousXUSMC Posted June 11, 2021 Share Posted June 11, 2021 (edited) So I got a crazy request this morning. Company wants to buy new laptops because they (HP 840 G6) have these Call Answer/Decline buttons built in. It works for Cisco Jabber and Skype and uses the HP Collaboration Keyboard Software as a wrapper to intercept these programs, then light up the keys on the keyboard. In order to save a lot of time and money buying, building and deploying new computers for such a simple feature I wanted to come up with a creative solution. Assuming they just want hardware keys they can press, I could do something as simple as this. HotKeySet("=", _AnswerCall) HotKeySet("-", _DeclineCall) While 1 Sleep(1) WEnd Func _AnswerCall() Send("^l") EndFunc Func _DeclineCall() Send("^d") EndFunc I do not know how the HP software detects and interfaces with the software, but I was able to find the hotkey shortcuts to preform these features. But what I think they actually want (demand) is seeing a key light up and being able to press it. So still cheaper than a new laptop I was thinking something like the Elgato StreamDeck. What I need to find is an external device with keys that I can have it light up or change graphics when a call comes in with jabber, and press the button to answer/decline the call. I don't know of any device that does this out of the box, so I was thinking of using AutoIT as a way to "make it smart" I am posting this because a few things. 1.) Does anybody know a good device to do something like this with? 2.) When I find the device I need to start getting into the code on how to make it work. So the stream deck it looks like there is some kind of developer feature where you can update graphics. https://developer.elgato.com/documentation/stream-deck/sdk/events-sent/#setimage I assume I can find a way to detect a call coming in (hoping something as simple as If WindowExisits() will work, then need to find a way to interface with this SDK to change the icons to show the call is ringing. I have no idea how to actually interface with this SDK, or if everything could be done without AutoIT at all. Kind of opening up the floor here for discussion, code ideas, and alternative products that may work easier for what I am trying to do. Edit: Might be onto an easier solution using the Stream Deck. Smart Profiles. https://www.youtube.com/watch?v=gUI3IAabaXs&ab_channel=SlurpTech Detect when a call is coming in, and have AutoIT run a breadcrumb program, that should change the profile and that profile will have the answer/decline buttons. Would need testing to see how good it actually works. Still looking forward to discussion about other ideas/products and possibly the best way to detect these things. I cant test until I get into the office next week. Edited June 11, 2021 by ViciousXUSMC Link to comment Share on other sites More sharing options...
TheXman Posted June 11, 2021 Share Posted June 11, 2021 (edited) 2 hours ago, ViciousXUSMC said: What I need to find is an external device with keys that I can have it light up or change graphics when a call comes in with jabber, and press the button to answer/decline the call. Is having an external hardware solution a necessity? If not, depending on the VoIP client software being used, you could create a simple small GUI, that runs in the background, pops up on the screen when a call is received, and allows the user to hit a Answer/Decline/End call button. Based on the GUI button that is pressed, you could trigger the appropriate VoIP client action through an API or using UI automation functions. If I read correctly, your client uses Cisco's Jabber. Jabber has an SDK which means that you probably can do all of the things that you need to do using an AutoIt script and interfaces developed with the SDK. Edited June 11, 2021 by TheXman FrancescoDiMuro 1 CryptoNG UDF: Cryptography API: Next Gen jq UDF: Powerful and Flexible JSON Processor | jqPlayground: An Interactive JSON Processor Xml2Json UDF: Transform XML to JSON | HttpApi UDF: HTTP Server API | Roku Remote: Example Script About Me How To Ask Good Questions On Technical And Scientific Forums (Detailed) | How to Ask Good Technical Questions (Brief) "Any fool can know. The point is to understand." -Albert Einstein "If you think you're a big fish, it's probably because you only swim in small ponds." ~TheXman Link to comment Share on other sites More sharing options...
Luke94 Posted June 11, 2021 Share Posted June 11, 2021 Bit random but what about a foot pedal? You could map the foot pedals to the AutoIt HotKeys? I might be wrong but I think there's software out there where you can map the foot pedals to launch programs etc. As for alerting the user of an incoming call, like @TheXman said: Quote you could create a simple GUI, that runs in the background, pops up on the screen when a call is received Link to comment Share on other sites More sharing options...
ViciousXUSMC Posted June 11, 2021 Author Share Posted June 11, 2021 1 hour ago, TheXman said: Is having an external hardware solution a necessity? If not, depending on the VoIP client software being used, you could create a simple small GUI, that runs in the background, pops up on the screen when a call is received, and allows the user to hit a Answer/Decline/End call button. Based on the GUI button that is pressed, you could trigger the appropriate VoIP client action through an API or using UI automation functions. If I read correctly, your client uses Cisco's Jabber. Jabber has an SDK which means that you probably can do all of the things that you need to do using an AutoIt script and interfaces developed with the SDK. The software itself already has a nice GUI, that's why this entire thing is redicioulous lol. Xandy and FrancescoDiMuro 2 Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now