[Q] Change key mapping - Xperia Play General

Is there an app out there to change "anykey" to be mapped up to example app, file, action?
I removed the search function from the search button, since i think it's useless (for me anyways), but i would like to map it to do "other things".
Possible ?

yes, try these and write some review please
https://market.android.com/details?id=com.beansoft.buttonremapper&feature=search_result
https://market.android.com/details?id=com.magouyaware.quicklaunch
https://market.android.com/details?id=net.talondesigns.quicklaunchfree

Related

Remap I.E and outlook buttons

I've searched and searched can anyone tell me anyway to disable or remap the I.E and Outlook buttons on the keyboard?
I beleive you cant. I was told this becasue the key codes are ROMed or hard coded. I too wanted to remap them.
I only know of a way to remap the IE button - not the outlook one. It is a workaround really; set the piehomepage in the registry as the app you want it to start eg. \Program Files\......
Now when you press the IE button, IE is still opened however and left running in the background, but the app you set is also opened.

Copy/Cut/Paste with HW Keyboard ??

Anyone knows how can I preform copy/cut/paste when using the hardware keyboard without going to the soft button in application that support that or using the stylus ?
I found that using the "Shift" with the right/left arrows will select the text but can't continue from here.
Thanks
Anyone ??? , It's annoying to get the stylus just for that when typing text....
Yah it would be nice to find a way to do this. Maybe someone can map copy/cut/paste to a keypress combinatiom?
I think VJKeyPress can emulate copy and paste, but the better solution is to use PHM's tools to emulate copy/paste. However, due to the fact that you're emulating a keypress (ctrl+c) while pressing another hardware key, from memory it used to confuse the system a little. But give it a go.
V

Remapping CTRL to HW keyboard using AEKmap or any other good solution?

I want to remap the ctrl button to the HW keyboard. I did some searcing on it and found PQzII, but thats not the best solution in my opinion.
Is it possible to map it using AEKmap? I dont know if Im missing something on how it works or what, but I could not get it work with it...
Smarter ones please help...
have not yet managed to do that with AEKmap. Event talked to the programmer. Seems to be a problem with some eT9 files. you can try one of the T9 remover CABs he posts in the AEK FAQ. no luck yet here...something seems to already catch the keyboard input.
We need a real solution for this, its a huge handicap that there is no ctrl button. I have the TP too and I really want this to be fixed on the X1...
We need a fixxxxx.... This is beyond me that TP is the only device with CTRL... Insane...
well i dont think its that important. just use the touchscreen for copy and paste.
Cause I hate to have no CTRL key too, I've just made a remapping for Italian layout (I think it is usable with any layout cause it uses character code, layout independent) who makes you do CTRL+ANY_ALPHABETIC_CHARACTER by typing WIN+ANY_ALPHABETIC_CHARACTER (i.e. CTRL+C by typing WIN+C)
You can do any CTRL+ shortcut, from CTRL+A to CTRL+Z, cause some programs use more shortcuts than others, so I remapped all for any use you like or you need
You need the activated version (commercial one)
You need to type WIN and any key at the same time or type and keep typing WIN before the other key, I say that cause sometimes it seems that the program ignore your typing, train yourself and you'll find the right way to use it
thanks, but it doesnt work on mine
tried it with multikeyhook, still the same.
it just pauses the X1 for a second when i press any WIN+ combo
Just wondering why you think using PQII isn't a good way to map CTRL?
I'm currently using it and having no issues. Its memory footprint is quite small too.

[PRO] Remapping hardware buttons / hardware keyboard

Hi folks,
I'm trying to remap the hardware buttons of my rooted Xperia Pro with stock ICS 4.0.4, but there are some quirks that trouble me.
Basically, I want to
1.) remap the language button on the QWERTZ hardware keyboard.
2.) Prevent the camera button from unlocking the phone - just press power to show the lock screen, then hold camera button, the press home key and you'll see how easy it is for the phone to unlock in your pocket.
So far, I parsed through the keyboard layout files in /system/usr
I remapped key 368 in pm8058-keypad.kl to CTRL_LEFT, which did not seem to make any difference! Language button still invokes language dialog
I also modified quertz.xml and qwerty-en.xml by replacing META_LANGUAGE with META_CTRL_LEFT - did not make any difference.
Of course, I rebooted the phone inbetween...
Regarding 2), I have no clue. Butting WAKE_DROPPED behind CAMERA and FOCUS in pm8058-keypad.kl does not help.
I could use some help with key remapping as well. If I find some info i'll send it your way.
No progress for me so far... anyone?
kyanox said:
I could use some help with key remapping as well. If I find some info i'll send it your way.
Click to expand...
Click to collapse
I want to re-map the 0 (Zero) key and the OK button orientation on the PIN Lock feature. Any info what files I need to change?
I GOT IT!!! partially at least....
Reading through http://source.android.com/tech/input/key-character-map-files.html and http://source.android.com/tech/input/key-layout-files.html once again, I finally found something that pointed me into the right direction!
I order to make my change to the Language button work (remapping key 368 to CTRL_LEFT), there are two possible ways:
1.) Set hardware keyboard to FULL keyboard type by replacing "type ALPHA" with "type FULL" in /system/usr/keychars/pm8058-keypad.kcm
This will make the hardware keyboard work without any additional GUI, so pressing shift will allow you to select text and copy&paste via ctrl+a,c,v,x now works (This still depends on the app you are using. Some do ignore this, some will still work with menu+a,c,v,x instead)
But beware:, in order to enter numbers or upper case letters, you now have to keep the modifier key pressed.
Printable characters can be edited via /system/usr/keychars/pm8058-keypad.kcm, non-printables like modifier keys can be edited via /system/usr/keylayout/pm8058-keypad.kl
Android keycode names can be found here: http://source.android.com/tech/input/keyboard-devices.html
Until now, I was unable to create a solution for entering special characters like ä,ö,ü
I tried to via sym or meta keyword in .kcm file while mapping the Sym key to SYMBOL or META_LEFT via the .kl file, but it didn't work...
2.) The .xml files in /system/usr/keyboard-config/layouts are used only with the keyboard configured as "type ALPHA". In order to identify the correct .xml file, you have to parse through the files in /system/usr/keyboard-config/languages and look for the script keyword, which in conjunction with the declarations in /system/usr/keyboard-config/keyprint.xml will tell you to the layout xml file for your device localisation.
Now, in order to remap printable characters, you have to edit the correct layout xml file and for non-printable characters, you have to edit the scancodes.xml file in /system/usr/keyboard-config.
Unfortunately, shift-selecting text will not work with "type ALPHA" mode and it seems that editing scancodes.xml is not sufficient to remap language button to CTRL_LEFT, but the .kl file has to be changed, too.

[Q] Multipress with CM10

Hi, I just registered here, but have been reading parts of the forums for some time. I first had Motorola Milestone, that I managed to successfully flash with CM7 using information found here. Thanks to all for sharing their knowledge .
Now I have switched to Milestone 2 (bought with CM10.1 by Engle_Mars nightly installed, and had some troubles upgrading to 10.2 but it finally worked, and I am happy ). Thanks Engle_Mars for the great job.
There is one feature that I really miss from the previous Milestone. That is multipress, which allows you to double-press a key in the physical keyboard to make a national character associated with this key. For my language (Polish) it is for example a -> ą. This is much faster than the default long pressing and choosing the wanted character from the list, and I very much liked it in CM7 (it was under System Settings -> Device Settings). But in CM10.1 and CM10.2 from Engle_Mars I cannot find this feature. Is it not there, or am I overlooking it? Is there an app that could add this functionality? (I searched, but couldn't find any). If no, is it possible you could add this, Engle_Mars? I found mentions of this feature in threads for other phones using CM10, so I suppose it is a part of CM10, but didn't make it to Milestone 2 port for some reason.
kaziq said:
Hi, I just registered here, but have been reading parts of the forums for some time. I first had Motorola Milestone, that I managed to successfully flash with CM7 using information found here. Thanks to all for sharing their knowledge .
Now I have switched to Milestone 2 (bought with CM10.1 by Engle_Mars nightly installed, and had some troubles upgrading to 10.2 but it finally worked, and I am happy ). Thanks Engle_Mars for the great job.
There is one feature that I really miss from the previous Milestone. That is multipress, which allows you to double-press a key in the physical keyboard to make a national character associated with this key. For my language (Polish) it is for example a -> ą. This is much faster than the default long pressing and choosing the wanted character from the list, and I very much liked it in CM7 (it was under System Settings -> Device Settings). But in CM10.1 and CM10.2 from Engle_Mars I cannot find this feature. Is it not there, or am I overlooking it? Is there an app that could add this functionality? (I searched, but couldn't find any). If no, is it possible you could add this, Engle_Mars? I found mentions of this feature in threads for other phones using CM10, so I suppose it is a part of CM10, but didn't make it to Milestone 2 port for some reason.
Click to expand...
Click to collapse
Czechop cm 10.2 version (4.3.1 jellybean) has polish characters. Have a try.
Fedroid said:
Czechop cm 10.2 version (4.3.1 jellybean) has polish characters. Have a try.
Click to expand...
Click to collapse
Thanks, but I am already using it
The problem is not in the Polish characters availability, because they are available with a long press (and touch), but in the far more convenient way of typing them by double pressing (no touching necessary).
kaziq said:
Thanks, but I am already using it
The problem is not in the Polish characters availability, because they are available with a long press (and touch), but in the far more convenient way of typing them by double pressing (no touching necessary).
Click to expand...
Click to collapse
Active metakeys and hit alt-lock and then the key asigned.
To access polish letters, choose Qwerty polish in Settings->Language & Input->Sholes keypad->Set up keyboard layout. Use ALT LOCK or ALT LOCK + SHIFT to get polish letters. ALT LOCK + '?' is mapped to pipe symbol('|').
To use META key you have to turn off android hotkey shortcuts. Unfortunately lately they made this option invisible in settings. To open it you have to type this in terminal (with root access):
su
am start -a android.intent.action.MAIN -n com.android.settings/.quicklaunch.QuickLaunchSettings
It is supposed that you can hit alt lock and another fisical key to get your polish characters (no double pressing but at least pressing two keys)
Greetings:highfive:
Fedroid said:
Active metakeys and hit alt-lock and then the key asigned.
To access polish letters, choose Qwerty polish in Settings->Language & Input->Sholes keypad->Set up keyboard layout. Use ALT LOCK or ALT LOCK + SHIFT to get polish letters. ALT LOCK + '?' is mapped to pipe symbol('|').
To use META key you have to turn off android hotkey shortcuts. Unfortunately lately they made this option invisible in settings. To open it you have to type this in terminal (with root access):
su
am start -a android.intent.action.MAIN -n com.android.settings/.quicklaunch.QuickLaunchSettings
It is supposed that you can hit alt lock and another fisical key to get your polish characters (no double pressing but at least pressing two keys)
Greetings:highfive:
Click to expand...
Click to collapse
Thanks. That feature would be a bit less convenient, but still cool. But I can't make it working.
I called the QuickLaunchSettings, and cleared all shortcuts (there was no option to disable the whole QuickLaunch). Then I entered the Sholes keypad -> Set up keyboard layouts, and chose QWERTY-polish. After that Alt-lock works like before (one Alt-lock + letter gives that letter, another one gives the blue symbol on the same key). Adequately Alt-lock + ? does not give the pipe, but ? or /.
Maybe I should have disabled the QuickLaunch thing as a whole, but I can't find a way to do that.
kaziq said:
Thanks. That feature would be a bit less convenient, but still cool. But I can't make it working.
I called the QuickLaunchSettings, and cleared all shortcuts (there was no option to disable the whole QuickLaunch). Then I entered the Sholes keypad -> Set up keyboard layouts, and chose QWERTY-polish. After that Alt-lock works like before (one Alt-lock + letter gives that letter, another one gives the blue symbol on the same key). Adequately Alt-lock + ? does not give the pipe, but ? or /.
Maybe I should have disabled the QuickLaunch thing as a whole, but I can't find a way to do that.
Click to expand...
Click to collapse
You need contact rabinhood, he will help you. He is the key master!:laugh:
kaziq said:
Thanks. That feature would be a bit less convenient, but still cool. But I can't make it working.
I called the QuickLaunchSettings, and cleared all shortcuts (there was no option to disable the whole QuickLaunch). Then I entered the Sholes keypad -> Set up keyboard layouts, and chose QWERTY-polish. After that Alt-lock works like before (one Alt-lock + letter gives that letter, another one gives the blue symbol on the same key). Adequately Alt-lock + ? does not give the pipe, but ? or /.
Maybe I should have disabled the QuickLaunch thing as a whole, but I can't find a way to do that.
Click to expand...
Click to collapse
Hello.
First thing for not to get lost in JB keyboard is that keyboard mapping seems to be done in several "layers":
the closest to hardware is /system/usr/keylayout/sholes-keypad.kl (the exact file name may be different in different ROMs, but this file is used to manage built-in hardware qwerty, there are more files here for other devices - mostly bluetooth keyboards)
This file is used to translate hardware key scan codes to system key names (ALT, SPACE, A, B, C, and so on)
/system/usr/keychars/sholes-querty.kcm (name may also be different ie. snoles-keypad.kcm, more files are for different hardware)
This file is used for telling system what character should be displayed (entered) after pressing a particular key with or without particular modifier keys (what to enter after pressing A, SHIFT+A, ALT+A, META+A, and so on).
Both of these are simple text files, and can be edited directly, to achieve effects you have to reboot system. Also beware! If you mess up with these files, you may disable hardware keyboard completely! Then rescue is overwriting bad files with originals from backup.
options found in android settings -> keyboard (Polish-QWERTY, AZERTY, QWERTZ) work like overlays, if you enable them, the system will use mixture of original kcm file, and the overlay - so depending on what an overlay contents, it may disable some keys you defined in your kcm
So if you want to modify keyboard, you have to disable these overlays, otherwise you will not get any effect (and may become a bit frustrated, like I was before I found this).
I attach my latest files with Polish letters entered with ALT_RIGHT modifier (obtained after holding ALT key), blue symbols entered with ALT (obtained after pressing, then releasing ALT key, and then pressing apropriate letter key), Greek letters with META key (mapped on ALT_LOCK). To have uppercase letters you have to press SHIFT release SHIFT, then ALT+key for Polish letters, or same with META for Greek letters.
To have CAPS, you have to press SHIFT twice. To have ALT_LOCK, you have to press ALT twice.
I'm wondering. Right now I have, let's say, multi-ALT (acting like ALT_RIGHT when held, and like ALT when held and released). Maybe it will be possible to code META in exactly same way, so we'll have another modifier key (META_RIGHT), but that's just an idea, and I haven't researched that yet.
I also wanted to encode arrow characters (right, left, up and down arrows) on META-left, META-right and so on, but also haven't had time to do that yet.
Regards!
Chris
[edit]
Added arrow characters (META+left, META+right, etc). Added not equals sign (ALT+META+G), equal or smaller (ALT+META+Z), qual or greater (ALT+META+X), double tilda (ALT+META+~), euro (META+~).
New files in attachment.
rabinhood said:
Hello.
First thing for not to get lost in JB keyboard is that keyboard mapping seems to be done in several "layers":
the closest to hardware is /system/usr/keylayout/sholes-keypad.kl (the exact file name may be different in different ROMs, but this file is used to manage built-in hardware qwerty, there are more files here for other devices - mostly bluetooth keyboards)
This file is used to translate hardware key scan codes to system key names (ALT, SPACE, A, B, C, and so on)
/system/usr/keychars/sholes-querty.kcm (name may also be different ie. snoles-keypad.kcm, more files are for different hardware)
This file is used for telling system what character should be displayed (entered) after pressing a particular key with or without particular modifier keys (what to enter after pressing A, SHIFT+A, ALT+A, META+A, and so on).
Both of these are simple text files, and can be edited directly, to achieve effects you have to reboot system. Also beware! If you mess up with these files, you may disable hardware keyboard completely! Then rescue is overwriting bad files with originals from backup.
options found in android settings -> keyboard (Polish-QWERTY, AZERTY, QWERTZ) work like overlays, if you enable them, the system will use mixture of original kcm file, and the overlay - so depending on what an overlay contents, it may disable some keys you defined in your kcm
So if you want to modify keyboard, you have to disable these overlays, otherwise you will not get any effect (and may become a bit frustrated, like I was before I found this).
I attach my latest files with Polish letters entered with ALT_RIGHT modifier (obtained after holding ALT key), blue symbols entered with ALT (obtained after pressing, then releasing ALT key, and then pressing apropriate letter key), Greek letters with META key (mapped on ALT_LOCK). To have uppercase letters you have to press SHIFT release SHIFT, then ALT+key for Polish letters, or same with META for Greek letters.
To have CAPS, you have to press SHIFT twice. To have ALT_LOCK, you have to press ALT twice.
I'm wondering. Right now I have, let's say, multi-ALT (acting like ALT_RIGHT when held, and like ALT when held and released). Maybe it will be possible to code META in exactly same way, so we'll have another modifier key (META_RIGHT), but that's just an idea, and I haven't researched that yet.
I also wanted to encode arrow characters (right, left, up and down arrows) on META-left, META-right and so on, but also haven't had time to do that yet.
Regards!
Chris
[edit]
Added arrow characters (META+left, META+right, etc). Added not equals sign (ALT+META+G), equal or smaller (ALT+META+Z), qual or greater (ALT+META+X), double tilda (ALT+META+~), euro (META+~).
New files in attachment.
Click to expand...
Click to collapse
Cześć
Thanks for the explanation. Only after Fedroid's suggestion to contact you I have checked the Czechop's CM10.2 thread (found some of your posts there), and found out that you were working on the Polish keyboard. The instruction Fedroid gave me was not working, because I was not using the latest Chechop's CM release. I have now upgraded, and the keyboard is working. However there are some very minor issues:
(I am not using the keys file you posted, but only the features in the rom (23.10.2013).
1. After installation there is no default on-screen keyboard (and you cannot set it). This makes the buttons (Menu, Back, and Search) and the physical keyboard not working at all. The solution is to switch the system to another language and back to Polish. It might be a bug (probably not yours), but I cannot post in the devel threads yet.
2. "Ń" does not work. I remember like 10 years ago I was making a charmap conversion feature for my program, and found out that there was a conflict (of char codes), that "Ń" could not be mapped. I don't remember the details, but I suppose it might be the case here too.
3. Pressing ALT(-Lock) + DEL or ALT(-Lock) and then DEL causes the whole SMS or sentence to be deleted. Since in the SMS app there is no indication of the ALT-Lock state, you can easily do that by an accident and there is no Undo. Is it possible to disable the ALT(-Lock) modifier on the DEL key (so that it will only delete the whole sentence when ALT(-Lock) is pressed together with DEL)?
Thanks for the work you are doing .
Hello.
Czechop has included in his ROM some older version of my files. Without META key, and with ALT_RIGHT mapped to "ALT LOCK" key. Honestly speaking, I cannot tell much about his implementation, since first thing I do after his ROM flash is I overwrite sholes-keypad kl & kcm files with my own (with more features). I also encourage You to do so, since my files seem not to be affected with at least bugs 1 and 2 You presented.
Ad1: I have no problems with on-screen keyboard - if hardware keyboard if closed, on-screen version pops up. Also four capacitive buttons under screen work flawlessly.
Ad2: I have no problems with Ń (right now I've entered it with my hardware keyboard). Czechop told me about some problems with Ń, that system is not able to recognize too big number of keys pressed simultanously, and somehow Ń was suffering, but as you can see I've just entered it for the second time with no problems.
Ad3: I don't know how to fix it. Del key doesn't appear in kcm file, and I don't know how to modify it. And yes, pressing Del+ALT removes whole line, which is quite annoying. I'll do some more investigation, and maybe I'll find something.
Regards! It's nice to see, that at least in the field of MS2 android development Poland has some real power! :-ł
rabinhood said:
Hello.
Czechop has included in his ROM some older version of my files. Without META key, and with ALT_RIGHT mapped to "ALT LOCK" key. Honestly speaking, I cannot tell much about his implementation, since first thing I do after his ROM flash is I overwrite sholes-keypad kl & kcm files with my own (with more features). I also encourage You to do so, since my files seem not to be affected with at least bugs 1 and 2 You presented.
Ad1: I have no problems with on-screen keyboard - if hardware keyboard if closed, on-screen version pops up. Also four capacitive buttons under screen work flawlessly.
Ad2: I have no problems with Ń (right now I've entered it with my hardware keyboard). Czechop told me about some problems with Ń, that system is not able to recognize too big number of keys pressed simultanously, and somehow Ń was suffering, but as you can see I've just entered it for the second time with no problems.
Ad3: I don't know how to fix it. Del key doesn't appear in kcm file, and I don't know how to modify it. And yes, pressing Del+ALT removes whole line, which is quite annoying. I'll do some more investigation, and maybe I'll find something.
Regards! It's nice to see, that at least in the field of MS2 android development Poland has some real power! :-ł
Click to expand...
Click to collapse
Thanks. I finally decided to try your files out, but I have hit a serious problem. When I tried to rename the file /system/usr/keychars/sholes-qwerty.kcm for a backup, I couldn't do it. I tried the ES File Explorer (root mode on), and it showed "the task did not succeed". I also tried typing su then mv sholes-qwerty.kcm sholes-qwerty-old.kcm while in the right directory, and got "Read-only files system".
How do I apply your files?
If czechops rom uses your key mapping files, i like to thank you rabinhood. Works well with german umlauts out of the box. And thanks to this thread I found out how to use them.
Greetings
hamu
kaziq said:
Thanks. I finally decided to try your files out, but I have hit a serious problem. When I tried to rename the file /system/usr/keychars/sholes-qwerty.kcm for a backup, I couldn't do it. I tried the ES File Explorer (root mode on), and it showed "the task did not succeed". I also tried typing su then mv sholes-qwerty.kcm sholes-qwerty-old.kcm while in the right directory, and got "Read-only files system".
How do I apply your files?
Click to expand...
Click to collapse
If you have problems with root access from file manager, I think the easiest and most reliable way to modify system files is:
1. Enter bootloader menu.
2. Select Tools -> USB Mount tools -> Share system
3. It should be recognized and mounted on your PC. (I'm running Linux, I think Windows won't be able to mount ext3/ext4 partition without some extra software.)
4. To copy files you have to be logged as root.
If I want to copy these files from running Android, I use ROM Toolbox Pro -> Root explorer.
---------- Post added at 09:53 AM ---------- Previous post was at 09:45 AM ----------
hamuchen said:
If czechops rom uses your key mapping files, i like to thank you rabinhood. Works well with german umlauts out of the box. And thanks to this thread I found out how to use them.
Greetings
hamu
Click to expand...
Click to collapse
Umlauts are Czechop's job. Say "thank you" to him.
rabinhood said:
If you have problems with root access from file manager, I think the easiest and most reliable way to modify system files is:
1. Enter bootloader menu.
2. Select Tools -> USB Mount tools -> Share system
3. It should be recognized and mounted on your PC. (I'm running Linux, I think Windows won't be able to mount ext3/ext4 partition without some extra software.)
4. To copy files you have to be logged as root.
If I want to copy these files from running Android, I use ROM Toolbox Pro -> Root explorer.
Click to expand...
Click to collapse
Thanks. I used the bootloader and a small linux pc (OpenPandora), and it worked .
But now only the Polish characters work with ALT-hold. Greek does not work (ALT-Lock + key does not produce anything), but ALT-Lock + arrows also work. It doesn't matter for me, because I don't use Greek letters, and this way is more comfortable for Polish chars.
A small quirk: Capital Polich characters work with Shift + ALT + key pressed as well as Shift press and release and then ALT + key. Except for... Ń, which works only with the latter . It's not an issue for me, just a funny notice.
Thanks again for this.
rabinhood said:
Umlauts are Czechop's job. Say "thank you" to him.
Click to expand...
Click to collapse
Ah, ok. Then, nevermind. But thank you anyway for not letting this device die.
Greetings
hamu
kaziq said:
Thanks. I used the bootloader and a small linux pc (OpenPandora), and it worked .
But now only the Polish characters work with ALT-hold. Greek does not work (ALT-Lock + key does not produce anything), but ALT-Lock + arrows also work. It doesn't matter for me, because I don't use Greek letters, and this way is more comfortable for Polish chars.
A small quirk: Capital Polich characters work with Shift + ALT + key pressed as well as Shift press and release and then ALT + key. Except for... Ń, which works only with the latter . It's not an issue for me, just a funny notice.
Thanks again for this.
Click to expand...
Click to collapse
Oh, yes, now I see what's going on with Ń. I haven't noticed it before, as I always press SHIFT, release it, and press ALT+key. Czechop told me that it is some kind of bug in keyboard hardware driver not dealing with too many keys pressed at the same time (but in particular N key).
My Greek letters are working, I don't know what might happen. Just in case I attach again latest version of kl/kcm files. Please copy them over files you have now, and remember to disable any keyboard overlays in CM10.2 settings.
Thanks.

Categories

Resources