Hi all,
Not sure if this is the right place to put this, but I have a request.
I recently bought the Motorola Wireless Keyboard with Trackpad, initially intended to work with the Xyboard and, I believe, the RAZR. I'm using it with my One X.
However, certain features of the keyboard are exclusive to Moto devices only, such as two finger scrolling and pinch to zoom.
So my question is, does anyone know where the software that drives the touchpad gestures is? And how hard would it be to make into a flashable zip for non motorola devices?
Thanks in advance everyone.
While I don't know exactly where to find the scroll gestures module, try looking for where the drivers are installed to and looking for a folder called gestures, modules, motions, drivers, initialization, some thing along those lines. As far as making a flashable zip that contains the gesture and the drivers for other devices you would have to either write your own drivers to get the motto only features working with non motto hardware, or adapt mottos existing driver code to work with non motto devices. The simple part is creating the flashable zip the hard part is adapting the drivers which would require intermediate to expert C/C++ knowledge as well as fundamentals of how the linux kernel and embedded drivers work. But if your up for the challenge go for it I wish you good luck !
Sent from my SCH-I535 using xda premium
shimp208 said:
While I don't know exactly where to find the scroll gestures module, try looking for where the drivers are installed to and looking for a folder called gestures, modules, motions, drivers, initialization, some thing along those lines. As far as making a flashable zip that contains the gesture and the drivers for other devices you would have to either write your own drivers to get the motto only features working with non motto hardware, or adapt mottos existing driver code to work with non motto devices. The simple part is creating the flashable zip the hard part is adapting the drivers which would require intermediate to expert C/C++ knowledge as well as fundamentals of how the linux kernel and embedded drivers work. But if your up for the challenge go for it I wish you good luck !
Sent from my SCH-I535 using xda premium
Click to expand...
Click to collapse
I don't own a Xyboard, just the keyboard, but I thought this would be a good place to post. Thanks for shedding some light on the issue though!
Related
People, is there any Windows App that can allow us to run Cooked and other ROMs on a Computer, just for testing or for seeing that particular ROM's interface ?
If yes, can you provide its link along with instructions ?
anyone have any idea bout this ?
Erm hello ?
A ROM is more than just an interface, there are also drivers which make up the ROM, which are targetted towards a specific set of hardware. In order for an emulator to be able to run any cooked ROM out there, it would need to be able to emulate the full range of hardware on the market. This is obviously not feasible to do. The emulator provided by Microsoft in the development SDK emulates a specific set of hardware, and the image that comes with it is targetted at that hardware.
There is one thing you could do, dump the emulator image, and rebuild it using the cooked ROMs parts, but keeping the emulators drivers, kernel, etc. However, you won't be able to bring in any device-specific software (like stuff that talks to the GPS, or G-sensor, etc)
At that point you will have gone through quite the effort just to see a ROMs interface But it might be useful for testing.
Also, moved thread to Questions and Answers.
Ok, I know much of what I'm about to ask has generally been answered or discussed in other posts, but I could really use some more direct/specific answers to my own questions.
My first question is about hardware drivers. To my understanding, a great many, if not most, of the more common wifi drivers are incorporated into the latest linux kernels. If this is the case, will more or less any Android system run on a device so long as the appropriate kernel is provided?
To be a little more clear on that, I'm actually trying to learn Android development (both for apps and building roms) on a cheap Chinese tablet that I picked up. Naturally it already has a version of Android 2.2 pre-installed. However, I have not been able to extract the contents of the boot.img or the system.img, I keep getting an error, whereas I can unpack the SDK img's no problem. So I was hoping that I can get away without compiling a custom kernel, use the already existing one, and go ahead with tweaking the system.img from either the AOSP or SDK sources. Getting the source code from the manufacturer may be impossible since I can't even seem to find out who the manufacturer is or get their contact info.
I'm actually looking to port CM7 to my wife's LG Shine Plus eventually, but I don't want to pull a Tim Allen on her phone so I want to get some experience and feel for working with Android's internals on my tablet.
So my next question is still about drivers, but what I want to know is how are things like the LCD, touchscreen input, audio output, wifi and the cell radio handled on a typical Android device? Is it mostly handled by the hardware itself with the Android framework or kernel just passing universal APIs or do the drivers for each individual piece of hardware need to be compiled into the kernel? As in the gkisystem for radios, is this handled by the kernel or the framework? Which kinda brings me back to my first question, if it is built into the kernel itself, can I not use, for example, the already existing kernel on the LG Shine Plus (it's running 2.1) to port CM7?
Any and ALL help is honestly and truly appreciated. I've been looking for detailed answers for these questions EVERYWHERE.
** just bumping this post so that it can get seen**
any help or advice at all?
Sorry for posting a whole new thread for this. I poked around with the search, however I figure the developers that are doing stuff for the Infuse have a lot on their plates to be able to write out a tutorial for this individual phone forum.
But, I have absolutely 0 experience in making a rom for anything. I have flashed Infused on my Infuse. This is my first Android device and I really love the customizability over the iOS software (previous phone). I know Gingerbread is just around the corner but I would love to take my first few steps towards developing with a rom thats been out already. This way by the time I get a better grip of things I can maybe transfer these skills to the new version.
If anyone can be so kind, Ide appreciate it if the helpful devs could maybe point me to some links with the necessary files and programs/files that are needed to build a custom rom. As well as maybe some tutorial threads or videos.
Anybody feel free to shoot me some useful links if possible. Thanks so much in advance! Cant wait to contribute.
Mikeymike had something you're looking for in the Captivate forum. Can't find the thread on my phone but it was basically a how to thread. Good stuff if ur interested
This should be in Q&A. But yeah, MikeyMike has a tutorial somewhere.
In my opinion - start off small. Get familiar with making customizations to a ROM (theming, app replacement, etc) and then grow from there. Don't bite off more than you can chew.
tazbo28 said:
Sorry for posting a whole new thread for this. I poked around with the search, however I figure the developers that are doing stuff for the Infuse have a lot on their plates to be able to write out a tutorial for this individual phone forum.
But, I have absolutely 0 experience in making a rom for anything. I have flashed Infused on my Infuse. This is my first Android device and I really love the customizability over the iOS software (previous phone). I know Gingerbread is just around the corner but I would love to take my first few steps towards developing with a rom thats been out already. This way by the time I get a better grip of things I can maybe transfer these skills to the new version.
If anyone can be so kind, Ide appreciate it if the helpful devs could maybe point me to some links with the necessary files and programs/files that are needed to build a custom rom. As well as maybe some tutorial threads or videos.
Anybody feel free to shoot me some useful links if possible. Thanks so much in advance! Cant wait to contribute.
Click to expand...
Click to collapse
http://forum.xda-developers.com/showthread.php?t=928955
remember to post in the right section next time bud.
Thanks so much guys. Sorry I was totally debating on whether to post this there but I thought that maybe the devs dont frequent that section.
Please do move this thread if possible.
Sent from my SAMSUNG-SGH-I997 using XDA App
Ok so I have one last question.
Is it better/easier to build the rom using an ubuntu virtual machine, dual boot ubuntu, or a Mac OSX Lion virtual machine in Windows 7?
I have the option to run any one of these types of systems. Unfortunately I do not have a Mac available, so Im wondering if it is even possible to build the source using a Mac VM seeing as how there are certain types of partitions necessary.
Thanks in advance.
tazbo28 said:
Ok so I have one last question.
Is it better/easier to build the rom using an ubuntu virtual machine, dual boot ubuntu, or a Mac OSX Lion virtual machine in Windows 7?
I have the option to run any one of these types of systems. Unfortunately I do not have a Mac available, so Im wondering if it is even possible to build the source using a Mac VM seeing as how there are certain types of partitions necessary.
Thanks in advance.
Click to expand...
Click to collapse
I'd dual boot windows and Linux
Samsung infuse running gingerbread!
Dual-booting Linux is your best bet. VMs mean that if you eventually get as far as doing kernel or AOSP/Cyanogenmod compiles, you'll have less RAM available, and also sometimes accessing USB devices (such as to use ADB or Heimdall) is a bit of a pain with VMs.
Awesome thanks a bunch guys i just got my ubuntu dual boot set up but i don't seem to have a working Linus driver for my trendnet wifi adapter.
But i have downloaded the infuse 4g source and im about to start setting up the build components from the android website.
Sent from my SAMSUNG-SGH-I997 using XDA App
tazbo28 said:
Awesome thanks a bunch guys i just got my ubuntu dual boot set up but i don't seem to have a working Linus driver for my trendnet wifi adapter.
But i have downloaded the infuse 4g source and im about to start setting up the build components from the android website.
Sent from my SAMSUNG-SGH-I997 using XDA App
Click to expand...
Click to collapse
Well, there are two routes to building ROMs right now:
1) Start from a Samsung ROM - there is source to the kernel and a few small parts of the userland stack available, but most of it is lacking source. Most custom ROMs available here are created by taking the stock Samsung ROM and tweaking them - removing apps, adding others, or attempting to bring apps from other devices to ours.
2) Cyanogenmod 7 - this is a source build, HOWEVER - it is not complete, open-source reimplementations of some Samsung stuff is not complete, so some features (like Bluetooth) are broken
A lot of ROM devs (those that work on Samsung-derived ROMs) don't even have a copy of Samsung's source code release as it's not useful to them. (Exception are those of us who do kernel work.)
It's not something you can just jump into. To do it properly, you need patience and a willingness to spend a lot of time researching a lot of different things.
1) Some things are easier to do in Linux and other things are best done in Windows due to some tools only being available for Windows. It's best to have both.
2) Learn how to dump the system partition (using the dd command) and mount/extract the resulting factoryfs.rfs on your computer.
3) Learn the /system folder structure. Explorer the files in each folder and try to figure out what those files are.
4) Find and learn how to use a script or program that can deodex the apps and framework from the extracted system image.
5) Learn the structure of flashable zips and what all of the commands in updater-scripts do. Easiest way to do this is to download a bunch of roms and look at their folder structure and updater-scripts. Google commands in them that you do not understand.
6) Learn which apps can be removed and replaced without consequence. If you can't figure out exactly what a particular apk does, best to leave it alone.
7) Experiment with changing build prop entries to see what some of them do.
8) Learn how to manually decompile and compile the dex portion of apk and jar files. Use smali and baksmali for this. This lets you modify app and framework code, but the decompiled smali can be a bit confusing. Try to learn how to read it. Try this AOSP lockscreen mod tutorial.
9) Learn how to use a program that can decompile and compile entire apps, including resources. Apktool is a good program and APK Manager is a good front end for it. Look through all of the folders in the resources (res) directory of a decompiled app. Learn which images and types of files are in each folder. There are a ton of xml files that do various things in the resource folders. Open a bunch of them up and learn some basic xml structure so you can see what all that xml is doing. Most visual app mods are done via xml. Here's a slightly more advanced mod tutorial than the AOSP lockscreen was: http://forum.xda-developers.com/showthread.php?t=811532
10) Learn proper apk compression techniques. Though it works, just dropping images into apks via 7zip and calling it a day isn't really the right way to theme. The default Android Asset Packaging Tool (used by the Android SDK to package apps) does not compress certain file types, including images. This is because images, especially pngs, typically do not compress a great deal anyways and the added cpu time it takes to decompress those images at app launch makes the total app loading time longer than if the images were uncompressed, even if they are slightly larger. Also, compressing some file types, like oggs and system objects, too much can even cause the app to not be able to load them. See here for a handy script to repack apks with proper compression: http://forum.xda-developers.com/showthread.php?t=1123463
I could go on forever, but that should point you in the right direction. At least you know some of the basics you need to learn now even if I didn't tell you exactly how to do each thing. Remember, Google will be your best friend. Use it. A lot.
Man I really appreciate this so much gtg. Its exactly the kind of encouragement i was hoping for. I just get a general sense of excitement when thinking of all the different possibilities in both Rom and app development. And seeing as how im and artist first, its awesome to know that ill down be able to be a double threat in both designing the look of, and building the Rom myself.
I can't thank you enough for pointing me in the right direction. Maybe one day someone will put together a kitchen for the Infuse. Until then ill be happy to dive into all the nitty gritty.
Sent from my SAMSUNG-SGH-I997 using XDA App
In my quest to learn how Android works, I have a question about finding and installing hardware drivers for devices like the cameras, graphics, audio, etc.
Aside from the Google provided drivers for flagship devices (basically devices that Google worked with such as Nexus, Pandaboard, and Xoom) found here (http://code.google.com/android/nexus/drivers.html#maguroiml74k), where would you get drivers that aren't being used by these devices, such as the Mali400MP that the Galaxy S II uses?
And once obtained, how do you install the drivers? Is it part of the compiling process, or is it just copying the binary files to a folder and editing some configuration files to reference to the binary files?
Thanks.
PS: In starting to learn about the low level innards of Android (and probably Linux), is there other resources I can research, ask, and learn? Is this a good place for it (the Q&A section of XDA forums)?
The drivers will be compiled into the kernel for the specific device.
You will either have to get the source code or reverse engineer the samsung ones and write your own.
Thanks.
I currently have a Samsung Vibrant that has ICS Passion v9.2 (a ROM that doesn't use the RFS file system, but uses the standard EXT4), and has the FFC mod. Do you know if the hardware is basically the same as the Nexus S? Would I be able to use the Nexus S binaries from Google's site?
If so, I'll stick with the Vibrant as my play thing. If not, I may have to purchase a Nexus S or the Galaxy Nexus to kick around.
Edit: Never mind. I'll pose this question in the Vibrant Q&A section, as this part of the question is Vibrant-specific. Thanks!
Hey
I'm taking on a new project and I have a few questions that are explained below, This is my first post here been a long reading member but never had any questions until now, so if this is in the wrong section, I'm sorry.
The project is basically converting a netbook into a tablet, being that the netbook lacks sufficient power to run Windows 7, but runs Android x86 really well. The only problem I have is that I need a touchscreen and I've decided to pick up a touchscreen kit, which on the fidohub website, its called the 10.2" Solderless touchscreen kit however they don't support Android and only provide drivers for Win7, OSX and Linux.
So what I'm asking you guys is how do i get past this problem and get myself an Android compatible screen.
Any help with this project will be a great help!
Thank you,
Rohan.
Maybe find the src and rewrite it?
And what would that require? Any guide available?
Try the linux drivers. Android is based on the linux kernel so it should work. If not youll have to mod the drivers up yourself
Sent from my Desire HD using Tapatalk
spam
This is exactly what I am just about to start! By the looks of it I am a few months behind you!
I have been searching around and have found little info... did you have and luck with the linux drivers or did you try them? would be great to hear how you got on?
many thanks to all,
Sam
Tablet Drivers
In the search all forums box in the upper right corner type in "tablet drivers" There is a list of options that maybe you can put to use.
adlakeche said:
In the search all forums box in the upper right corner type in "tablet drivers" There is a list of options that maybe you can put to use.
Click to expand...
Click to collapse
I am doing something very similar, I am basically using a MK802 unit in the car. The car already had a VGA USB touchscreen from my PC install. I connected my 4-wire touchscreen to it and nothing. Funny thing is, I connected a different screen from another manufacturer and it worked, with the exception that up and down were inverted. But the brand in the car is the one that doesnt work. I know that when I use this device in Windows, it uses drivers from the touchkit.com website. This side also have Linux drivers, but unsure what to look at. I have no experience with root, or anything Android as far as code and stuff. The have drivers for 32bit or 64bit. The have it for Linux, Red Hat, Fedora Core, SuSE, Debian, Ubuntu, Yellow Dog, Mandrake. All of which is alien to me. Is there a driver that will work closest to Android?