How to learn xInput and gesture programming in Linux (GTK+) - linux

Ramble: I have been goggling for the past ~week trying to get information on tablet programming for Linux. I am currently a student tasked with making a tablet application (mobile but tablet is the preferred device). I am allowed to program with Linux however the class instruction is based on Microsoft XP tablet input "Inking." I however would like to learn how to write a similar app in Linux ( I am going to attempt to make a gesture GUI for kismet [probably tie in air crack too, mostly just run scripts]).
Problem: My problem however is that the I cannot find any opensource gesture engines or similar tools to inking as far as Linux goes. I know that communities hate n00b questions but can you point me to some n00b xInput programming tutorials that include gestures. The best I found is how to doodle with a bitmap backing.
I'm sorry for n00bing out here, really I'm usually able to fend for my self.

OK, I don't know much, but I am moved by your anti-n00bness.
http://www.x.org/wiki/XOrgInputDriverSpec
It doesn't look like it's implemented yet, but there is some hope!
https://launchpad.net/canonical-multitouch <- canonical recently announced this, so there's not that much work yet
I don't know, man. You've got a tough question...

Related

graphics engine for embedded systems

i am a newbie at graphics for embedded system. i have worked with OpenGl, Unity, WPF etc for graphics but as a hobby project i wanted to run games on embedded platforms like [arduino and Raspberry(without Raspian)].
Can someone please refer some guide or road map for me in this regard. For performance issue i want to target only 2D but good proper games and the system should work like a gaming console. [off course the game controllers are least of my worries since i am an electrical engineer :D ].
Please don't close this question without answer. i know there are a lot others but i wanted answer to my problem for 2D games ...
P.S. i would really appreciate solutions that are widely accepted,

Gesture Recognition for my Grandma (Kinect) Linux

I'm looking into making a project with the Kinect to allow my Grandma to control her TV without being daunted by using the remote. So, I've been looking into basic gesture recognition. The aim will be to say turn the volume of the TV up by sending the right IR code to the TV when the program detects that the right hand is being "waved."
The problem is, no matter where I look, I can't seem to find a Linux based tutorial which shows how to do something as a result of a gesture. One other thing to note is that I don't need to have any GUI apart from the debug window as this will slow my program down a fair bit.
Does anybody know of something somewhere which will allow me to in a loop, constantly check for some hand gesture and when it does, I can control something, without the need of any GUI at all, and on Linux? :/
I'm happy to go for any language but my experience revolves around Python and C.
Any help will be accepted with great appreciation.
Thanks in advance
Matt
In principle, this concept is great, but the amount of features a remote offers is going to be hard to replicate using a number of gestures that an older person can memorize. They will probably be even less incentivized to do this (learning new things sucks) if they already have a solution (remote), even though they really love you. I'm just warning you.
I recommend you use OpenNI and NITE. Note that the current version of OpenNI (2) does not have Kinect support. You need to use OpenNI 1.5.4 and look for the SensorKinect093 driver. There should be some gesture code that works for that (googling OpenNI Gesture yields a ton of results). If you're using something that expects OpenNI 2, be warned that you may have to write some glue code.
The basic control set would be Volume +/-, Channel +/-, Power on/off. But that will be frustrating if she wants to go from Channel 03 to 50.
I don't know how low-level you want to go, but a really, REALLY simple gesture recognize could look at horizontal and vertical swipes of the right hand exceeding a velocity threshold (averaged). Be warned: detected skeletons can get really wonky when people are sitting (that's actually a bit of what my PhD is on).

How are low level device drivers written for Linux?

I remember reading some books about Linux Device drivers around the end of my university education for Comp. Science. Soon there-after I got a job and haven't really worked much with Linux/Embedded (I do mostly java stuff now). However it's something I want to look into.
Anyways I recall reading an online article (ill edit post if I can find it) about writing a USB Driver for Linux for a Little "USB Missile Turret" similar to this:
http://www.thinkgeek.com/geektoys/warfare/8a0f/
Anyways it went into detail about how to write the driver without a driver being provided (the guy just found a generic one on ebay....and figured out how to like...write the driver just by looking at the components and such). ANYWAYS it was pretty amazing.
I have a pretty good clue about how low level embedded stuff works, but thats for stuff like AVR's/PIC Microcontrollers, I have no idea how something like this would be written for like a Normal processor in a PC.
Anyways I guess what Im asking is.....how do you figure out this kinda stuff, where would I find such information.
edit: found the link
http://matthias.vallentin.net/blog/2007/04/writing-a-linux-kernel-driver-for-an-unknown-usb-device/
(It's way more confusing then I thought, I didn't realize he reverse engineered a Windows USB driver..im guessing it'd be impossible to figure out without snooping through a windows driver?)
The Linux kernel and drivers are GDFL source. You can read the code, change them, compile them, and experiment to your heart's delight with them. That is a pretty good way to learn.

Graphics and Sounds for the Game

I am new to android and game developing too.
I wanna try my luck in game development.
The only thing is struggling is Graphics and sounds.
I've played many games with awesome graphics like angry birds for example.
So, my question is how to design graphics like those and how do game developers get sounds for the games.
Can you suggest me any place for free sounds for commercial use
Thank you.
This is probably slightly off topic for stackoverflow (I think there's another board for game dev, not sure).
But that aside, my $0.02:
If you're doing game development and focused solely on the programming, then I would suggest finding a partner that can do some or all of the things you're not comfortable with doing yourself. Honestly, you could try making some graphics yourself in GIMP or Photoshop and using Audacity to make your own sound effects, but they probably won't be as polished as if you can find someone experienced with that to do it for you. You can also try to find free sounds/graphics on the internet, but if it's anything specialized you're trying to make, you probably won't find anything suited to what you're doing, at least not without much trepidation. Also, if you're really serious about making some games, and you want to get some assets of high quality, expect to pay a little money to get a graphic designer or sound engineer to make something nice for your project.
As far as where to find such a person. Well, this is where I get a little hazy, there's probably better places to look, but one which I'm aware of is this site:
http://www.moddb.com/jobs
You can post ads for people to work on various aspects of games, so you could find someone that specializes in the skills you're looking for. People on that site may do so for free, too.
Good luck!

VB6 Game Development

I am developing a game in VB6 (plz don't ask me why :) ).
The storyboard is ready and a rough implementation is underway.
I am following a "pure-software-rendering" approach. (i.e. no DirectX, no openGL etc.)
Amongst many others, the following "serious" problems exist:
2D alpha transparency reqd. to implement overlays.
Parallax implementation to give depth-of-field illusion.
Capturing mouse-scroll events globally (as in FPS-es; mapping them to changing weapon).
Async sound play with absolute "near-zero-lag".
Any ideas anyone. Please suggest any well documented library/ocx or sample-code.
Plz do suggest solutions with good performance and as little overhead as possible.
Also, anyone who has developed any games,
and would be open to sharing her/his code would be highly appreciated.
(any well-acknowledged VB games whose source-code i can study??)
UPDATE: Here is a screen shot of GearHead Garage.
This picture ought to describe what i was attempting in words above... :)
(source: softwarepod.com)
EGL25 by Erkan Sanli is a fast open source VB 6 renderer that can render, rotate, animate, etc. complex solid shapes made of thousands of polygons. Just Windows API calls – no DirectX, no OpenGL.
(source: vbmigration.com)
VBMigration.com chose EGL25 as a high-quality open-source VB6 project (to demonstrate their VB6 to VB.Net upgrade tool).
Despite that, and despite my opinion that VB6 is often criticised too harshly, I can't help thinking there must be better options for game development in 2010?
You may want to check out the Game Programming Wiki -- it used to be "Lucky's VB Game Site" (and we're talking a LONG time ago) but all of the content (VB5/6 centric) moved to the Wiki with the addition of other languages.
It appears that much of the legacy VB6 content is still available on the site.
Have a look at DxIce : http://gamedev.digiapp.com/
I think you will find no well-acknowledged written games in VB6 for precisely the reasons you state above.
It was not designed to be a high performance language. For that you NEED to use the graphics libraries (DirectX, OpenGL) you said you didn't want to use unless you want to BitBLT everything yourself using API calls which is probably not going to get what you need.
VB6 is interpreted, outdated, and I'd be surprised if it runs on Windows 7.
I think you need to seriously re-evaluate the methodology here.
For audio playback, I have used http://www.fmod.org/ in the past. This, and other libraries like BASS, are only free for non-commercial use. I also suggest avoiding the built-in multimedia playback object.

Resources