[Sources] CWM Based Recovery On-Screen Touch Navigation Controls [Team UtterChaos]

Search This thread

mb-14

Senior Member
Nov 21, 2010
195
364
Pune
Hi the workaround, specifically for tablets, is to make the buttons align in vertical manner to the right hand side of device... We have implemented the code in such a way that the developer needs to only edit the default_recovery_ui.c file... Specifically the function which returns the locations of objects to be drawn...

We have already implemented it in recovery for HTC FLYER and kindle fire.... U can check the screenshots by following the links to those threads from my signature below...

We will try n post the sources soon for tablets we worked on...

Sent from my HTC Flyer P510e using XDA App
Thanks dude,was able to align icons in vertical manner, but had to change ui.c to get precise touch input.Your code is easy to understand:).Almost any type of icon layout can be implemented.(im thinkin GBA emulator style).:D
 

DooMLoRD

Inactive Recognized Developer
Jul 27, 2010
13,187
39,710
Pune
Thanks dude,was able to align icons in vertical manner, but had to change ui.c to get precise touch input.Your code is easy to understand:).Almost any type of icon layout can be implemented.(im thinkin GBA emulator style).:D

Yes I know thats why we shared the sources with the community... ;)

Btw all of the credit goes to Napstar for coding it... I only kept bugging him with feature requests and final cleaning up the code to make it more readable and general :p

Sent from my LT15i using XDA App
 
  • Like
Reactions: squadzone

DooMLoRD

Inactive Recognized Developer
Jul 27, 2010
13,187
39,710
Pune
current work-in-progress version:


we have released it for testing for Xperia ARC, PLAY users...


there are some minor glitches but we are sorting them out ;)
 

GSLEON3

Retired Senior Moderator
HTC...

Hey guys,

I was working on a TWRP2 recovery for the HTC Holiday (Vivid), was having to many issues with testing & soft bricks, something in the GUI code not playing nice with Rezound/Vivid & newer HTC devices.

I'd like to take another stab using the CWM source. Could you please hook me up with the Flyer Source & binary so I can go through it & see how close it is to HTC phone devices?

I'd really appreciate it.
 

KillerKink

Senior Member
Sep 29, 2010
121
57
Very cool and excellent work guys!

I would like to port this to Teclast p76ti. Where can I get the sources for tablet?
 

DooMLoRD

Inactive Recognized Developer
Jul 27, 2010
13,187
39,710
Pune
Hey guys,

I was working on a TWRP2 recovery for the HTC Holiday (Vivid), was having to many issues with testing & soft bricks, something in the GUI code not playing nice with Rezound/Vivid & newer HTC devices.

I'd like to take another stab using the CWM source. Could you please hook me up with the Flyer Source & binary so I can go through it & see how close it is to HTC phone devices?

I'd really appreciate it.


yes of course i will post the sources we used for Flyer either as a tar ball or push them to git... they are not completely clean but u will get an idea of what can be done...

as for the binary u can get it from:
http://xdaforums.com/showthread.php?t=1413915

Very cool and excellent work guys!

I would like to port this to Teclast p76ti. Where can I get the sources for tablet?


yesterday i pushed the Kindle Fire recovery sources here:
https://github.com/DooMLoRD/CWM-Recovery-Modded-Kindle-Fire

u can try those directly as those are generic one for most landscape devices... just read thru the ui.c file to update the dimensions if required...
 
  • Like
Reactions: KillerKink

DooMLoRD

Inactive Recognized Developer
Jul 27, 2010
13,187
39,710
Pune
Thanks! Forked.

Is this the active development tree that I can pull the latest changes?

its my personal dev. tree... but yes all changes (atleast for that device) will be pushed there...


btw Kindle Fire requires special reboot commands, that why i have created wrappers for reboot commands:
/sbin/reboot_system
/sbin/reboot_recovery
/sbin/reboot_fastboot

just create/modify those files in the ramdisk and use the reboot commands required for ur device...
 

KillerKink

Senior Member
Sep 29, 2010
121
57
its my personal dev. tree... but yes all changes (atleast for that device) will be pushed there...


btw Kindle Fire requires special reboot commands, that why i have created wrappers for reboot commands:
/sbin/reboot_system
/sbin/reboot_recovery
/sbin/reboot_fastboot

just create/modify those files in the ramdisk and use the reboot commands required for ur device...

I see. I managed to get it to run with the 4 soft buttons on the right and the touch does get registered. However, the coordinate are out so it only register the down key. Trying to figure out why.

Does this tree only show the 4 white soft buttons? Your video seem to be way more polish.

IMG_0114.jpg
 
Last edited:

DooMLoRD

Inactive Recognized Developer
Jul 27, 2010
13,187
39,710
Pune
I see. I managed to get it to run with the 4 soft buttons on the right and the touch does get registered. However, the coordinate are out so it only register the down key. Trying to figure out why.

Does this tree only show the 4 white soft buttons? Your video seem to be way more polish.

yes the sources currently uploaded are for on-screen navigation buttons only...

we r still actively working on the full touch recovery u see in the video... there are some glitches... we r working on fixing them
 

KillerKink

Senior Member
Sep 29, 2010
121
57
yes the sources currently uploaded are for on-screen navigation buttons only...

we r still actively working on the full touch recovery u see in the video... there are some glitches... we r working on fixing them

ok. Let me know if you need alpha tester though. I wouldnt mind. :)

---------- Post added at 04:12 PM ---------- Previous post was at 03:36 PM ----------

ok, have to make the following adjustment for the key to be correctly registered.

int position = key->y*4;

I am using y coordinate instead of x and the mouse resolution is only 1/4 of the screen resolution.
 

KillerKink

Senior Member
Sep 29, 2010
121
57
many thanks for your wonderful work. I have managed to get a working version of cwm with touch support. I have put a link back here on my thread.
 

DooMLoRD

Inactive Recognized Developer
Jul 27, 2010
13,187
39,710
Pune
Are you planning on porting this to ics any time soon?

we do plan to port it but the core recovery, even for ICS is the same, there only change being the LUN file for the latest USB gadget, once u update that in device defconfig the USB mounting in recovery will start working for ICS kernels...



many thanks for your wonderful work. I have managed to get a working version of cwm with touch support. I have put a link back here on my thread.

glad to hear that! but which device? tablet/phone?
 

clienthax

Senior Member
Jul 29, 2010
188
52
we do plan to port it but the core recovery, even for ICS is the same, there only change being the LUN file for the latest USB gadget, once u update that in device defconfig the USB mounting in recovery will start working for ICS kernels...





glad to hear that! but which device? tablet/phone?

i managed to get most of it done, but the problem is the minui stuff, its changed ALOT from gingerbread to ics
ev_get isnt even a method anymore
 

KillerKink

Senior Member
Sep 29, 2010
121
57
we do plan to port it but the core recovery, even for ICS is the same, there only change being the LUN file for the latest USB gadget, once u update that in device defconfig the USB mounting in recovery will start working for ICS kernels...





glad to hear that! but which device? tablet/phone?

Teclast p76ti (7" capacitive tablet). I have only used your two commits to port to the latest cyanogen recovery branch(cwm v5.0.2.8).

currently I only use it for rom update so I have not tested the other feature of cwm but it should work.
 

clienthax

Senior Member
Jul 29, 2010
188
52
is there any specific reason u are using the ICS branch?

yes, im using it because i have a rom that builds with the recovery image for my phone, i found the commit to the ics branch that changed all of miniui etc and changed it back to the old way, but it keeps all the bug fixs etc from later versions
Now to test :D
 

DooMLoRD

Inactive Recognized Developer
Jul 27, 2010
13,187
39,710
Pune
Hey guys,

I was working on a TWRP2 recovery for the HTC Holiday (Vivid), was having to many issues with testing & soft bricks, something in the GUI code not playing nice with Rezound/Vivid & newer HTC devices.

I'd like to take another stab using the CWM source. Could you please hook me up with the Flyer Source & binary so I can go through it & see how close it is to HTC phone devices?

I'd really appreciate it.

here u go.... the sources for Flyer are attached...
 

Attachments

  • recovery-flyer-wip-WORKING.tar.gz
    2.7 MB · Views: 169

Top Liked Posts

  • There are no posts matching your filters.
  • 42
    [ info ]

    Hello friends!

    as some of u may, or may not, have heard we have been working for the past two months on this project of getting on-screen touch navigation controls for the CWM recovery menu!

    most of this work is based on the basic touch capabilities which were ported from SteamMod recovery... majority of the work was carried out by me... with some valuable inputs from my team mate DooMLoRD...


    we had already released this working version on various devices which include phones like Ideos X6; Samsung Galaxy SL; SE Xperia X10, Arc, PLAY & even tablets HTC Flyer & Kindle Fire...

    we finally managed to merge our sources for various devices (at least for the phones) into a common repo!
    These dont currently contain sources for tablets as devices we tested on required very specific changes. We are trying to generalize them. If somebody needs it urgently, post a request as a reply in this thread. We will send them as they currently stand.

    These sources are modified ClockworkMod Recovery v5.0.2.7 sources i.e. modification over CM7 git tree for gingerbread branch.


    [ credits ]

    a BIG thanks to koush & the CM team for their awesome work on the CWM recovery sources

    sztupy for his great work on SteamMod recovery!



    [ sources ]

    For CWM recovery v5.0.2.7 (branch: gingerbread)





    [ info for developers ]

    now coming to the main part...

    we have posted this thread so that it may help other developers port our work to their device... we can use this thread as a medium to communicate if u need any specific help (FOR DEVELOPERS ONLY... NO NOOBS PLEASE)... we will also share our experiences and updates on our further work on this touch based system... yes this in not the end of it...

    Here is a sneak preview of the things we have already implemeted and are currently testing...


    it will soon be released for supported devices...




    we are well aware that koush is already working on a touch version of CWM recovery... we do not mean to compete with anyone... since we have been working on this for a while, we felt others might benefit from this and learn something new, we sure did learn a LOT ourselves throughout this project...


    feel free to use these sources to port this to ur device! but if u use them kindly credit us (Team UtterChaos) and post a link to this thread from ur OP....


    enjoy!


    P.S.: this is not meant to be a tutorial thread on how to compile recovery from sources! there are many tutorials available for that, SEARCH!!!!
    9
    [ device specific sources ]

    HTC Flyer

    Kindle Fire




    something new that we are working on:

    9
    Guide for porting to a new device

    Guide for porting to a new device:


    1. Download ClockworkMod Recovery v5.0.2.7 sources (branch- Gingerbread) from https://github.com/CyanogenMod/andr...tree/2b56f849652676b3e848025123717598d6c74e3d
    2. Apply touch related changes from my repo.
    3. In BoardConfig.mk file from your system-device directory, if you have set some value for; BOARD_CUSTOM_RECOVERY_KEYMAPPING then apply default_recovery_ui.c related changes from my sources into your custom recovery_ui.c sources (Placed anywhere in your source tree.)
    4. Customizing recovery_ui.c for your device of interest:

    • Set TOUCH_CONTROL_DEBUG flag to 1, set maxX and maxY to 0 from recovery_ui.c
    • Compile this modified recovery and boot into recovery. Then touch anywhere on screen and note down the values printed for gr_fb_width() and gr_fb_height()
    • Open recovery_ui.c and modify resX and resY with values returned for above twofunctions.
    • Now touch extreme corners of your touch panel and note down highest X and Y values printed on screen.
    • In recovery_ui.c modify maxX and maxY to these extreme values.
    • Recompile your recovery and test it out.
    Enjoy touch version of CWM recovery, made available by Team UtterChaos
    icon8.gif

    4
    Attempting port to gt540 (5.5.0.4 recovery)
    Quite some substantial source differations, but i have the first few touch patchs in place,
    compiling now

    Mhm.. i get
    [UI_WAIT_KEY] key code: 330
    Key: 14a
    when i press on the screen which is BTN_TOUCH

    Whatdo :/

    We forgot to mention that our patches are meant for gingerbread branch (v5.0.2.8) and not for ics branch (v5.5.0.4).

    There are a lot many differences between these two branches itself. So, currently these patches will not work for CWM recovery v5.5 (ICS).

    We are still working on porting these changes to ICS branch.
    3
    Congrats for this amazing work
    You just TWRP-fied CWM GUI

    You went into the GUI and touch handling far from all I've done till now
    @DooMLoRD suggested that I contact you
    I do to congratulate the work you've done

    However, just watching through your code changes gives me some bad headache :D
    It will be a huge effort on my side to follow with it

    In any-case, feel free to ask if you need some info about parts of my code