IRC Log Viewer » #firebreath » 2014-02-01

IRC Nick Time (GMT-7) Message
Beau 12:02 Quick question guys. I have a firebreath plugin being used in both IE and Firefox on windows. I noticed that the IE version is not getting all the key presses that the Firefox version gets. Namely seeing it on Tabs and only recieving WM_KEYUP on Ctrl-A. Anyone know what is going on and how to fix it?
taxilian 15:02 Beau is it a windowless or windowed plugin?
Beau 17:02 It is windowed.
I actually got something working. Not sure if this is the best way to do it, or if there is something more built-in to Firebreath, but it is working...
I actually got something working. Not sure if this is the best way to do it, or if there is something more built-in to Firebreath, but it is working...
taxilian 17:02 nothing built into firebreath
I was going to suggest that you might need to do something to capture the keyboard, like click on it or something
Beau 17:02 I made a modification to ActiveXCore/FBControl.h by implementing TranslateAccelerator from IOleInPlaceActiveObjectImpl. I just caught the keys I wanted there, forwarded them with a SendMessage, and returned S_OK to tell IE they were handled.
taxilian 17:02 interesting. sounds like a good candidate for a pull request =]
interesting. sounds like a good candidate for a pull request =]
Beau 17:02 I would say so too, but the implementation of that function is very specific to which keyboard shortcuts I wanted and which ones I didn't.
It really needs a way to call into your plugin to decide which ones to handle and which ones to leave to IE.
taxilian 17:02 interesting. so IE won't just give us the events? that's very annoying
Beau 17:02 No after reading around, it says IE will intercept certain keyboard events even if your plugin has the keyboard focus. The only way to get ahead of it is through TranslateAcellerator.
taxilian 17:02 fun
well, glad you figured it out
Beau 17:02 indeed. Thanks and thanks for a great framework!
taxilian 17:02 would be nice to find a way to set things up so you don't have to modify firebreath core, though...
Beau 17:02 I know. I have a patch file that is applied after i checkout firebreath. Some of my other changes probably would be mergable with a pull request.
taxilian 17:02 cool. well, people who can track down an issue like that are few and far between, so kudos for figuring it out and fixing it yourself
Beau 17:02 Thanks.
taxilian 17:02 activex is kinda a black box of ugly :-/
Beau 17:02 you probably know that better than anyone
taxilian 17:02 I wrote most of the code that is in there, and I have to re-learn parts of it every time I work on it...
Beau 17:02 I just wish it didn't take so long to build.
I just wish it didn't take so long to build.
taxilian 17:02 yeah… sorry :-/ I used to have precompiled headers on by default but they caused a lot of issues
broke visual studio
broke visual studio
and we use far too much compiler magic and templates for a slow build… it results in a correlated decrease in development time, IMO, but it does mean that building takes a long long time
Beau 17:02 I agree. I LOVE the ability to call a function back on the main thread. In my old plugin i had to define a structure for parameters, make a second function for the Async callback, etc. Very tedious.
taxilian 17:02 yes, I'm rather proud of how all that turned out =] it was equally tedious to write, though :-P