Nook Simple Touch -> Nook Multi Touch [Screensaver Locking Issue Explanation Added]

Search This thread

wheilitjohnny

Senior Member
Mar 13, 2011
51
32
Nook Simple Touch -> Nook Multi Touch [Screensaver Locking Issue Explanation Added]

After long discussion on how to enable multitouch
http://xdaforums.com/showthread.php?t=1361296

Finally we get something very exciting,
mixing with the noRefresh app, thank to everyone developing this app
http://xdaforums.com/showthread.php?t=1502723

==Exciting Videos==
AngryBird: http://www.youtube.com/watch?v=Chy0MGorjmo
Excellent PDF Reading: http://www.youtube.com/watch?v=JDk8a0leP4U



======For User======

For those who want a simple installation package
Can use the following update-package made by mali100, thanks to mali100
mali100 made an update-zip to install multitouch through CWM
[NST][CWR][RC2] Clockworkmod based Recovery



For thise users want to install manually
Can achieve Multi-touch by 2 Steps:

| Replacing Kernel:
| -make sure you haven't changed it before, otherwise u have to combine the changes and compile a new one
| -remember, a backup is a MUST
| for firmware 1.1 users
| Use Noogie or other methods, change the uImage with the attached one ( or the combined kernel mentioned below )
| arkusuma teaches us how to change uImage using ADB here
| *Thanks to arkusuma!
|
| Adding Permission node:
| in "/etc/permissions/required_hardware.xml", add
|
Code:
<feature name="android.hardware.touchscreen" />
<feature name="android.hardware.touchscreen.multitouch" />
|
| Reboot



For those users who also want to achieve USB host
Can find the combined kernel here: ( Thanks mali100! )
http://xdaforums.com/showthread.php?p=24180134


Known Issue:
Sometimes the nook would act like un-responsive when it is in screensaver.
To solve it, try to drag the screen with two fingers.
The reason for this is, a cache is added between hardware input and linux subsystem, if the driver missed one of the "finger up" event before, it would result it leaving a phantom finger touching in your next touch. The screen cannot unlock by 2 fingers. But when you drag the screen with 2 fingers. It will clear all the cache, so as to erase the phantom touching.

======For Developer======

It is done by editing the kernel + adding permission node

*Thanks to arkusuma, who improved the code, added a cache for touching data, which prevents the pervious "un-stable" situation from happening

Kernel: just replace zforce.c, then compile
Two main changes on zforce,
first one is process_touch_event ( report touch information ),
second one is zforce_probe, this one just added a few input_set_abs_params ( register for device capability )
http://github.com/arkusuma/nook-touch-multitouch

Permission node: in "/etc/permissions/required_hardware.xml", add
Code:
<feature name="android.hardware.touchscreen" />
<feature name="android.hardware.touchscreen.multitouch" />


Thanks to arkusuma for improving the code again ! ;)
 

Attachments

  • newuimage.zip
    1.8 MB · Views: 2,708
Last edited:

apeine

Senior Member
Mar 9, 2011
268
31
Sao Paulo
wheilitjohnny,

Congrats on your feat! Maybe you should do a tutorial on how to install those files, for those poor lame souls like myself who can do simple things like run installer and such, even run a rooter, but need help on anything else.
 

wheilitjohnny

Senior Member
Mar 13, 2011
51
32
Thank you for your support, I also wish to make a 1-click-install later.

But since the multi-touch is still not very smooth when the fingers are not moving, I want to package the things when I have a better release!

Wish that day comes earlier ^ ^
 
  • Like
Reactions: aiamuzz

arkusuma

Member
Nov 6, 2008
21
52
Bandung
Hi, I've made some adjustment of wheilitjohnny's source. It seems to be working properly now, even when there's no finger movement. Changes can be viewed at github:

github.com/arkusuma/nook-touch-multitouch

I'm attaching the resulting uImage for those interested.
 

Attachments

  • uImage.zip
    1.8 MB · Views: 1,534

wheilitjohnny

Senior Member
Mar 13, 2011
51
32
Cool ! Thanks arkusuma

You added a cache !


Seems that it is perfect now...

I wanna also improve the noRefresh app, make it being enabled when we are dragging......
But seems difficult
 
Last edited:

Renate

Recognized Contributor / Inactive Recognized Dev
Now we get into the dueling uImages. :(
I guess that everybody will have to start building their own.
The problem is when somebody offers their uImage for Option A and somebody offers their uImage for Option B.

I could use a uImage for multitouch and USB host mode.

I wanna also improve the noRefresh app, make it enable when we are dragging...

It's not difficult, but it has to (well, no, but most easily can be) integrated into the app.
I've got one of my personal apps that does this already.
I've stripped it down to a demo.

This only pans. Notice that it switches back and forth between A2 and normal modes.
 

Attachments

  • demo.jpg
    demo.jpg
    25.5 KB · Views: 347
  • Demo-1.0.apk
    38.9 KB · Views: 109

wheilitjohnny

Senior Member
Mar 13, 2011
51
32
Do the USB host one released the source code?

If yes, u can combine them and compile a whole new one to enjoy both hacks !

=======================

I just wonder, if it is possible, to make an app.
Getting information from the kernel directly, and set the mode using the raw information.
Then it can support all Apps

Any method for an app to read /dev/input/event2 ?
 
Last edited:

Renate

Recognized Contributor / Inactive Recognized Dev
Do the USB host one released the source code?

Yes, verygreen put it somewhere.

Any method for an app to read /dev/input/event2 ?

Yes, /dev/input is where the good stuff is, but it's a bit more complicated.
The order of devices changes depending on what is connected/active.
Moreover, you can't really take over something that another process is reading.

Here's what my system is showing (with two USB keyboards plugged in :D ):
Code:
# ls -l /dev/input
crw-rw---- root     input     13,  70 2012-03-27 08:34 event6
crw-rw---- root     input     13,  33 2012-03-27 08:34 mouse1
crw-rw---- root     input     13,  69 2012-03-27 08:34 event5
crw-rw---- root     input     13,  68 2012-03-27 08:34 event4
crw-rw---- root     input     13,  67 2012-03-27 08:34 event3
crw-rw---- root     input     13,  66 2012-03-26 12:19 event2
crw-rw---- root     input     13,  32 2012-03-26 12:19 mouse0
crw-rw---- root     input     13,  63 2012-03-26 12:19 mice
crw-rw---- root     input     13,  65 2012-03-26 12:19 event1
crw-rw---- root     input     13,  64 2012-03-26 12:19 event0
 
  • Like
Reactions: hshsh

wheilitjohnny

Senior Member
Mar 13, 2011
51
32
maybe it is possible for me to add in dummy information in driver to raise extra input events.


my problem now is how an app (service in background) read device input event directly
I think we can make an input event separately from anything else
only let that app to read it, is it possible?

any permission stuff?
how to impletment the code in Java environment for the app?
how exactly the code should be typed?
 
Last edited:

wheilitjohnny

Senior Member
Mar 13, 2011
51
32
I tried making "Dragging NoRefresh" using JNI

But the permission problem when I try to access /dev/input/event making me feel mad...
 
Last edited:

drmxmyt

Senior Member
Aug 29, 2011
351
93
istanbul
Really great news. i tried it with opera mobile, really good experience..
may i ask which pdf reader is this thats seen on the video?
 

marspeople

Senior Member
Jul 7, 2011
70
100
Thanks for this!

Does anybody know how to flash a kernel image without using Noogie (using CWM, for example)?
 

wheilitjohnny

Senior Member
Mar 13, 2011
51
32
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 22
    Nook Simple Touch -> Nook Multi Touch [Screensaver Locking Issue Explanation Added]

    After long discussion on how to enable multitouch
    http://xdaforums.com/showthread.php?t=1361296

    Finally we get something very exciting,
    mixing with the noRefresh app, thank to everyone developing this app
    http://xdaforums.com/showthread.php?t=1502723

    ==Exciting Videos==
    AngryBird: http://www.youtube.com/watch?v=Chy0MGorjmo
    Excellent PDF Reading: http://www.youtube.com/watch?v=JDk8a0leP4U



    ======For User======

    For those who want a simple installation package
    Can use the following update-package made by mali100, thanks to mali100
    mali100 made an update-zip to install multitouch through CWM
    [NST][CWR][RC2] Clockworkmod based Recovery



    For thise users want to install manually
    Can achieve Multi-touch by 2 Steps:

    | Replacing Kernel:
    | -make sure you haven't changed it before, otherwise u have to combine the changes and compile a new one
    | -remember, a backup is a MUST
    | for firmware 1.1 users
    | Use Noogie or other methods, change the uImage with the attached one ( or the combined kernel mentioned below )
    | arkusuma teaches us how to change uImage using ADB here
    | *Thanks to arkusuma!
    |
    | Adding Permission node:
    | in "/etc/permissions/required_hardware.xml", add
    |
    Code:
    <feature name="android.hardware.touchscreen" />
    <feature name="android.hardware.touchscreen.multitouch" />
    |
    | Reboot



    For those users who also want to achieve USB host
    Can find the combined kernel here: ( Thanks mali100! )
    http://xdaforums.com/showthread.php?p=24180134


    Known Issue:
    Sometimes the nook would act like un-responsive when it is in screensaver.
    To solve it, try to drag the screen with two fingers.
    The reason for this is, a cache is added between hardware input and linux subsystem, if the driver missed one of the "finger up" event before, it would result it leaving a phantom finger touching in your next touch. The screen cannot unlock by 2 fingers. But when you drag the screen with 2 fingers. It will clear all the cache, so as to erase the phantom touching.

    ======For Developer======

    It is done by editing the kernel + adding permission node

    *Thanks to arkusuma, who improved the code, added a cache for touching data, which prevents the pervious "un-stable" situation from happening

    Kernel: just replace zforce.c, then compile
    Two main changes on zforce,
    first one is process_touch_event ( report touch information ),
    second one is zforce_probe, this one just added a few input_set_abs_params ( register for device capability )
    http://github.com/arkusuma/nook-touch-multitouch

    Permission node: in "/etc/permissions/required_hardware.xml", add
    Code:
    <feature name="android.hardware.touchscreen" />
    <feature name="android.hardware.touchscreen.multitouch" />


    Thanks to arkusuma for improving the code again ! ;)
    12
    Does anybody know how to flash a kernel image without using Noogie (using CWM, for example)?

    If you can do ADB into your nook (i.e. using adbWireless):

    adb connect <nook-ip-address>
    adb push uImage /media
    adb shell

    mkdir /media/boot
    mount -t vfat /dev/block/mmcblk0p1 /media/boot
    cp /media/uImage /media/boot
    umount /media/boot
    rmdir /media/boot
    rm /media/uImage
    7
    Hi, I've made some adjustment of wheilitjohnny's source. It seems to be working properly now, even when there's no finger movement. Changes can be viewed at github:

    github.com/arkusuma/nook-touch-multitouch

    I'm attaching the resulting uImage for those interested.
    7
    I made an update-zip to install multitouch through CWM. It includes the kernel from this thread and adds the permissions for multitouch.
    4
    Have anybody such kernel for nook with Glow 1.1.5?

    All my 1.1.5 kernels (http://code.google.com/p/nst-recovery/downloads/list) have the Glow-Light driver included. You should use uImage1_1_5_multitouch if you just want multitouch, or uImage_mt_usbhost_nopowercheck_115.zip if you also want usb-host-capability (this one may drain your battery).