Another couple of weeks, another major release!
This time with more interesting features I hope.
First of all, now Touché is a KDE only application, no more dual releases with Qt-only version. Of course, this may disappoint someone, but this allowed me to add some nice new features, like Global Shortcuts for profile switching.
And profiles themself were improved too, both fixing small problems, and adding a "Default" profile, when no other profile is available.
Default profile will also provide a "fallback action" if some key is not configured on the selected profile, this way you can enable an action on multiple profiles without having to copy it.
Main menu was refactored a bit, It's nicer and much more well organized.
Code was refactored as well, which lead us to an API for adding new "device modules", not just HID devices.
And we have a living example too: Wiimote support. You can easly setup a Wiimote as remote control by just enabling it in the "Configure Touché" menu entry, "Modules section", then by just connecting it. Currently it supports every physical button on the wiimote; I plan to add some other nice stuff too as gestures.
As usual, source tarball is available on github download page.
More downloads and information in Touché Homepage
Showing posts with label planet-kde. Show all posts
Showing posts with label planet-kde. Show all posts
Wednesday, September 5, 2012
Thursday, August 23, 2012
Touché 0.2
Hello folks? Back from vacation?
I am, and so is Touché, with a second major release!
The most important change in this version is the addition of profiles, meaning you can have multiple bindings configured for each device, and you can switch them by context menu.
This release also features many code reworks, GUI and backend fixes and refactorings opening the way to future new features.
Here's the full changelog:
I am, and so is Touché, with a second major release!
The most important change in this version is the addition of profiles, meaning you can have multiple bindings configured for each device, and you can switch them by context menu.
This release also features many code reworks, GUI and backend fixes and refactorings opening the way to future new features.
Here's the full changelog:
- Ported build system to CMake
- Added profiles, to have different bindings for the same keys
- Major code cleanup, allowing to add more engines (next one probably will be Wiimote)
- Cleaning up desktop file and appName (fixing some issues with encoding)
- Binding keypress and keyrelease events on "Translate to key" dialog
- Added "aliases" in keyboard database, so now different device version can be mapped to the same key (example: apple remote)
Now the bad news: both the keyboard database file and the configuration file have changed.
The first one won't bother you, unless you've defined a custom keyboard mapping file. In this case, please contact me, I can help you fixing it, and it can also be added to the default keyboard database file.
For the configuration, it's much easy to migrate it:
- cd $HOME/.config/GuLinux
- mv Touché.conf Touche.conf # I renamed it, to avoid encoding issues
- now open Touche.conf with your favourite text editor, and replace "[bindings]" with "[bindings_Default]" (or bindings_YourDesiredProfileName).
Just enjoy the new release, and don't be shy! Feedback is welcome!
Download page: https://github.com/rockman81/Touche/downloads
More downloads and information in Touché Homepage
21:27 (GMT+2) Update: there was a small issue with the configuration GUI. I modified source code to fix the problem. Please download again and rebuild the package if you have any inconvenience.
21:27 (GMT+2) Update: there was a small issue with the configuration GUI. I modified source code to fix the problem. Please download again and rebuild the package if you have any inconvenience.
Saturday, July 28, 2012
Wiimote Stellarium Plugin
As i wrote some days ago, I planned on doing some hack so control KStars with a Wiimote.
It turned out KStars isn't the right target, as it seems to have no plug-in support (and I don't want to modify core yet, as i'm still in an experimental phase).
But reading data from wiimote and correctly interpreting was already done some days ago, thought it was a little bit hard, so I switched to Stellarium instead.
This is the result: http://www.youtube.com/watch?v=BhVHJJaQ8Gs
Of course it's just experimental code, it's barely usable.. but it's a start.
Source is here: https://github.com/rockman81/StellariumWiimotePlugin
Now some technical stuff:
The Wiimote gyro sensors aren't easy to read, as they don't send you current angle, but only
It doesn't report current angle, instead it does report angular speed.
But afterall you can deduce current angle just dividing speed by elapsed time between each message report.
I had to do some tries before finding the proper way of "moving view window" on Stellarium.
It's not so well documented, and i'm not exactly happy about current solution, but it works, and i'll ask some help in their mailing list soon.
This solution anyway is easier than i thought, as it only receives as input angles delta, meaning it's also easy to "align" your telescope to stellarium (just point an object with telescope, then manually point stellarium to that object).
What's missing:
It turned out KStars isn't the right target, as it seems to have no plug-in support (and I don't want to modify core yet, as i'm still in an experimental phase).
But reading data from wiimote and correctly interpreting was already done some days ago, thought it was a little bit hard, so I switched to Stellarium instead.
This is the result: http://www.youtube.com/watch?v=BhVHJJaQ8Gs
Of course it's just experimental code, it's barely usable.. but it's a start.
Source is here: https://github.com/rockman81/StellariumWiimotePlugin
Now some technical stuff:
The Wiimote gyro sensors aren't easy to read, as they don't send you current angle, but only
It doesn't report current angle, instead it does report angular speed.
But afterall you can deduce current angle just dividing speed by elapsed time between each message report.
I had to do some tries before finding the proper way of "moving view window" on Stellarium.
It's not so well documented, and i'm not exactly happy about current solution, but it works, and i'll ask some help in their mailing list soon.
This solution anyway is easier than i thought, as it only receives as input angles delta, meaning it's also easy to "align" your telescope to stellarium (just point an object with telescope, then manually point stellarium to that object).
What's missing:
- better calibration (angles "seem" correct, but i'm not entirely sure...)
- better movement translation (i'm ignoring one axis, they should be all taken into account, and compensate misalignment).
- Maybe some alternative way of displaying wiimote data in stellarium, such as a "virtual" object in sky. this way you can see how close is your telescope to a desired object.
- Equatorial mount support (currently if there is an axis rotation it's not detected and properly corrected, and it's interpreted the wrong way).
- ....many other stuff, but it's too early to get a detailed list :P
Tuesday, July 24, 2012
Hello planet! (again)
Just a quick update: after some years of inactivity, i've decided to go back into KDE hacking.
These years have been quite good, moving in Milan, working in a great agile team full of people i really love working with, but i really missed KDE community, open source, and c++ hacking.
So i'm taking advantage of my nearly one month vacation as a kickstart, hoping to be able to keep enough free time for KDE after being back to work.
What will i do in KDE? Well, i have no precise plan.. But i already started by adding Chrome/Chromium support to KRunner (probably it'll be out for KDE 4.10, proposed branch here, i'll blog more about it probably, as for me it's a nice example about unit testing and refactoring) and fixing some bugs (i just proposed a patch for Konsole).
It also wouldn't be bad to keep working on Touché, maybe integrating it more with KDE. For instance, it could merge with KHotKeys, which is kinda buggy too at the moment.
Also, I plan to hack on my Wiimote (with motion plus), it would be great to be able using it as a pointer device for KStars (exactly the way Skeye is doing for android devices, "Virtual DSC", or "PushTo").
So, stay tuned!
These years have been quite good, moving in Milan, working in a great agile team full of people i really love working with, but i really missed KDE community, open source, and c++ hacking.
So i'm taking advantage of my nearly one month vacation as a kickstart, hoping to be able to keep enough free time for KDE after being back to work.
What will i do in KDE? Well, i have no precise plan.. But i already started by adding Chrome/Chromium support to KRunner (probably it'll be out for KDE 4.10, proposed branch here, i'll blog more about it probably, as for me it's a nice example about unit testing and refactoring) and fixing some bugs (i just proposed a patch for Konsole).
It also wouldn't be bad to keep working on Touché, maybe integrating it more with KDE. For instance, it could merge with KHotKeys, which is kinda buggy too at the moment.
Also, I plan to hack on my Wiimote (with motion plus), it would be great to be able using it as a pointer device for KStars (exactly the way Skeye is doing for android devices, "Virtual DSC", or "PushTo").
So, stay tuned!
Thursday, May 3, 2012
Touché: special key recognizer for Linux Desktops
a.k.a. Make your extra keyboard keys "just work".read me first: apparently planet kde linked only this post from backlog instead of newer ones.
You can see more updates about Touché (including first two "stable" releases) here:
http://rockman81.blogspot.it/p/touche.html
I always loved having some spare extra keys in my input devices.
Contrary to Apple's philosophy, which every year tries to remove some keyboard or mouse button here and there, just because "user might be scared! too much stuff to handle!", i find quite more simple to just press the "Play" button on my keyboard to start my audio player, or "Next" to skip to the following song, or "ZoomIn" to enlarge browser fonts, and so on.
It's also quite more productive, in my point of view: for instance i use a lot virtual desktops, therefore i can "switch context" just by switching desktop (for instance, desktop 1: internet; desktop 2: console apps; desktop 3: instant messaging; desktop 4: application development). And what's faster? Typing "CTRL+Shift+F2" (if you can remember it!) to switch to desktop 2, or just having a mouse with an extra button, binded to the (in my opinion, beautiful) desktop grid effect?
One button click, and you're directly here:
I can even remember that when i used to play Quake 3 Arena, my mouse with two extra lateral buttons gave me a fair advantage on my enemies, allowing me to fast-switch to the "most useful" weapons.
Therefore, as you might imagine, i always try to buy keyboards (and mices) with lots of extra keys. But as some of you might have experienced, not all of them do work.
My last purchase is a Microsoft Wireless Keyboard 3000: not so bad, it has lots of extra keys, the bundled mouse has 4 extra buttons (other than the standard 3 ones and the wheel), and most of the extra keys do work out of the box.
But "most of them" is not enough.
I never could get to work the "Flip Window" key (bottom-right), nor the "12345*" keys, next to the standard multimedia keys. I barely could have the "ZoomIn-ZoomOut" keys (left), because i noticed that they were captured as joypad events (joypad? Wtf?)
So, after some research i noticed that all these keys do generate an event, in the special device "hiddev0".
And i wrote an application to read them: Touché.
It's still in heavy development, it lacks a configuration utility, and currently it supports only my keyboard model, but it's probably easly configurable to support other keyboards, if they do generate events in hiddev too.
And beside what's missing, it's already fully functional: it can both translate your special key to a Xorg recognized key, or run a custom command.
If you want your keyboard supported, you can inspect the application output (with the command line argument "--dump-events"), and contact me to get support.
Build instruction included in the README file.
Feedback is welcome :)
Labels:
C++,
GNU/Linux,
KDE,
Keyboard,
Multimedia Keys,
planet-kde,
Qt,
Special Keys,
Touché
Subscribe to:
Posts (Atom)