Does linux support multi-touch screen - linux

I'd like to develop my own app based on a arm-linux system, using QT.
I'd like my app to support multi-touch functions. And I'd like to know if it is possible. If so ,please let me know which version of Linux kernel I should use.

Linux started supporting Microsoft's Multi-touch protocol from kernel 3.8 onwards.
The reference is here:
https://www.kernel.org/doc/Documentation/input/multi-touch-protocol.txt
Addendum
http://www.ptrackapp.com/apclassys-notes/embedded-linux-multitouch/
has arm multi-touch tutorial for iPhones but it applies equally to Android.
The hid-multitouch in linux supports a whole bunch of panels:
See
http://lxr.free-electrons.com/source/drivers/hid/hid-multitouch.c
for details
Addendum 2
Multi touch support has been somewhat there since 2.6 Ubuntu had multi touch support in its distribution in 2010.
Microsoft Multi-touch protocol support started in 3.8. Chrome OS support started in kernel v3.9. X.org server had multi touch support built into it in 2011.

Run command:
chromium --enable-pinch
for context menu
create shortcut application (.desktop)
/home/"your user"/.local/share/applications
OR
support all aplications
search:
multi touch compiz plugin
https://www.youtube.com/watch?v=rY-85BUqWgY

Related

What is the use of various Qt platform plugins?

I was doing some cross compiling of a Qt5.2 application for an ARM based target (TI AM335x EVM) and it was failing to display anything on my platform. After doing some google’ing I found that if I launched it with:
./helloworld -platform eglfs
it would show up (full screen, but it worked)!
I started looking at all the platform options, I found:
android, eglfs, linuxfb, minimalegl, windows, xcb, cocoa, ios, offscreen, qnx, directfp, kms, minimal, openwfd
I’m wondering what they are for. I assume, for example, that if I wanted to run my application on an Android device I’d have to pass -platform android, but they’re not all obvious to me.
Is there a listing anywhere of when each of these parameters should be used?
For example, what does eglfs stand for? And why did I need to use that where as linuxfb didn’t work? (I would have thought the linux frame buffer was how I wanted to launch my application since it was running on embedded linux)
If the linuxfb plugin doesn't work, then possibly you didn't correctly configure the framebuffer device on your system. Maybe a directf layer is already running, so you may want to try the directfb plugin instead.
If you wish to avoid having to specify the platform option when you run the executable, you can pass the default one to configure when you build Qt.
The plugins can be described as follows:
Linux plugins - those use Linux-specific input devices and various output devices
eglfs - Uses the OpenGL ES in fullscreen mode. There's no other way since OpenGL has no concept of a window manager.
directfb (not directfp) - Uses the linux frame buffer with OpenGL ES via the directfb layer (see also wikipedia). Integrates into the directfb windowing.
linuxfb - Uses the linux frame buffer in fullscreen mode. There's no other way since linuxfb has no concept of a window manager.
kms - Uses linux kernel modesetting API in fullscreen mode. There's no other way since DRM has no concept of a window manager.
openwfd - Uses an openwfd Wifi display in fullscreen mode. There's no other way since openwfd has no concept of a window manager.
Platform-independent plugins - could be made to run on any OS
xcb - Runs on an X11 server and is integrated into the X11 windowing environment. Generally it won't behave correctly without a window manager running as well. Can be made to work on Windows, given a Windows implementation of xlib, if you want to, say, serve applications from a Windows server to X11 thin terminals (typically Unix boxes).
offscreen - Renders to an offscreen buffer. Useful for rendering to custom displays.
minimal - A minimalistic backing store that optionally dumps the virtual screen to a file. Implements the bare minimum of functionality just to demonstrate how to start writing a platform plugin.
Other platform-specific plugins
android - Uses the Android APIs and is integrated into the Android environment.
windows - Uses the WINAPI and is integrated into the Windows windowing environment.
cocoa - Uses the Cocoa APIs and is integrated into the OS X windowing environment.
iOS - Uses the iOS toolkits and is integrated into the iOS environment.
qnx - Uses the QNX APIs and is integrated into the QNX photon windowing environment.
I just replied in the TI forums to the same query. If eglfs is functional and linuxfb is not, please file a bug in JIRA with qt-project.org, as both eglfs and linuxfb in AM335x use the linux framebuffer. eglfs (when used with a widget application) uses dirty-rectangle approach with a fullscreen display. Also move to QML if possible when on Qt5.
PS: you can export QT_QPA_PLATFORM=eglfs (or linuxfb) on the target to avoid setting the platform everytime you invoke the application. (http://doc.qt.io/qt-5/embedded-linux.html)
Probably the most noteworthy addition since the accepted answer was written is Qt's wayland platform, apparently since Qt 5.11 (in official binaries). Enabled now by default on Fedora 31+... which can be a little troublesome for some apps. Red Hat had to implement a fallback list.

How portable is JavaFX 2?

I am thinking of kicking off a JavaFX project on my 64-bit Windows 7 machine. What I am doing is designing a full-screen console application. It's not interactive aside from a barcode scanner.
I'm designing this for what I think would be an Ubuntu laptop or some other Linux variation, although a different Windows OS is a possibility too (as well as 32 bit). From what I understand Java FX version 2.x has made great advancements in portability from its predecessor, but I wanted to ask the community here what their experience was in deploying JavaFX apps.
Have you had success using them on a variety of different architectures? What are some problems you have encountered?
Checkout EstiMate for an example of an all-in-one jar which is runnable via double click.
https://bitbucket.org/atill/estimate/downloads
It requires Java7u10 installed. I plan to make a proper installer for it later on, using the javafx maven plugin. https://github.com/zonski/javafx-maven-plugin. I haven't tested it on Linux or Mac but it does work across winXP 32bit and 64bit windows7.
As long as your barcode scanner works the same on ubuntu as on win and you are not using any external libraries, you won't notice the difference between those systems from your app.
I found installing oracle JRE on ubuntu the most difficult task. (with JRE_HOME, etc.) Even on Archlinux was easier than ubuntu.
Nevertheless, once the JRE is set, your app will run even on Raspberry Pi (which is ARM not x86)
Remember about file system differences between systems.

how do i start the LWUIT resource editor in linux system?

i am trying to explore LWUIT using NetBeans 7.2
I am working on Linux Machine.
After a week working with LWUIT, I got to know about LWUIT Designer or known as LWUIT Resource Editor.... But i am not getting how to install / run it on my linux system.
Kindly help regarding this
You need to install a J2ME simulator such as the WTK. Most aren't available for Linux and only work on Windows there might be an old version of the WTK that might work on Linux.
Alternatively you can use Codename One, which is developed by the authors of LWUIT (myself included) and doesn't require all that hassle (works on Linux seamlessly).

Is there a way to develop a Rational Team Concert (RTC) project in Linux terminal?

I am a new hire and I prefer working in the UNIX environment, however the project I am on is developed in the IBM WebSphere environment - IBM WID connected up to RTC repo. Any way I can develop from UNIX?
[My apologies, didn't read the title of the question - revising answer]
RTC has a commandline interface that works just fine on Linux. The main usage of this interface is version control operations, linked to work items. Reference guide for RTC v3 is here: http://pic.dhe.ibm.com/infocenter/clmhelp/v3r0m1/index.jsp. Search for "Source control command line reference" (it's in the reference section of the Help), or the latest shipping release of RTC is v4 - http://pic.dhe.ibm.com/infocenter/clmhelp/v4r0/index.jsp. Search for the same string "Source control command line reference".
You also have the option of using WID (a development environment based on Eclipse) directly in Linux. WID 7.0 supports Linux (see http://www-01.ibm.com/support/docview.wss?uid=swg27016959).
If you are using other versions of WID - search for the system requirements for that version to see if Linux is supported.
From a WID perspective - RTC is installed as an Eclipse plugin to the WID environment to provide the source code management, work item/task management and build capabilities.
As VonC rightly points out - you need to be aware of the cross-platform dependencies, but those should not prevent you from working with WID and RTC on a Linux/Unix platform.
"From Linux to Windows, Mac to mainframe, Eclipse to Visual Studio, we've got you covered", says their site. As far as I know, RTC consists of web software+UI (multiplatform), eclipse (multiplatform), websphere that runs on multiple platforms and source control that is supported on different platforms. Also, Linux/Unix is listed on their supported environments. So yes, you should be able to develop from UNIX.
You can develop on Linux, but be mindful of classic cross-platform issues like:
potential case problems: you could store
permissions not saved: RTC does not store/restore file permissions, except for the
"execute" bit, which only applies to Unix systems, since Windows using
the extension of the file to determine "executability", not an execute bit.
eol style (or mixed eol): the default EOL RTC assigns to text files is
PLATFORM, and RTC will try to convert your text files end-of-lines.

Java Micro Edition (JME) SDK for Mac OS X or Linux

The question is clear from the title.
Is there an SDK for the Java Micro Edition available for Mac OS X or Linux? Or does one need Windows XP to develop JME applications?
No, with a 'but'
There is no WTK (Wireless Toolkit) from the main vendors available for Mac (NetBeans Wiki reference) so basically you can't debug nor test the code. But, you can use an emulator from a third co: MPowerPlayer
If you are using netbeans in any other OS but windows, you still can download and add the J2ME packages using the tools/plugins menu.
Then you can add the MPowerPlayer to the IDE as a J2ME platform. Netbeans (and i guess any other IDE with J2ME WTK support) will recognize it as a valid WTK,
I've posted an specific entry about this in my blog, but it's in spanish, although maybe you can follow the images. Give it a try, and don't hesitate to ask anything:
J2ME in Mac Os with NetBeans
Offically Sun's WTK is available only on Linux and Windows, however both SDKs can be used on Mac to compile J2ME applications.
Unfortunately the emulator and the preverifier will not work (since they are not Java based) so you will not be able to test your application.
To solve this problem you can use MicroEmulator or MPowerPlayer for both emulation and preverification (you can also use PhoneME for preverification).
This is a good guide to setup you development environment using Eclipse and this one is good for Netbeans.
But, if I can give an advice (I'm working since two years on J2ME development and I'm a Mac user), it is better if you develop on Windows or Linux through a virtual machine, because the two emulators do not have a very good compliance to the JSR's standard and do not include all of them.
Moreover on OSX it will be very difficult for you to test features like Bluetooth or LocationAPIs.
Netbeans has a JME SDK
May be this is helpful, I've found a Java ME Developer Studio for Mac OS X, developed by Motorola, I haven't tested yet, it's only and EA Release, I'll try this one, and I'll let u know in a subsequent post,
http://developer.motorola.com/docstools/motodevstudio/javame/downloads/
Cheers
Oddly enough ... I just set this up 5 minutes ago on Linux.
You will need:
http://linux.com/archive/feature/122050
http://java.sun.com/products/sjwtoolkit/download.html <-- WTK
The WTK installer will ask where your JDK is. Do
find . -name "jar" -type f
and then where you have
/usr/lib/jvm/foo/bar/bin/jar
Knock of the 'jar' and give that path to the installer. This will install ktoolbar which includes a phone emulator.
The download netbeans and install the mobile addons
This is not pure J2ME, but includes most of the API
I am using it to develop an application for my SE-C902
Yes, the official SDK for OSX can be downloaded here: https://www.oracle.com/technetwork/java/javame/downloads/sdk30-mac-jsp-137878.html. Microemulator, http://www.microemu.org, also works well, and I've heard people use MPowerPlayer with success.

Resources