Ändra layout på tangentbordet?

Diskussion i 'X10 Mini/Mini Pro' startad av n0ir, 5 aug 2010.

  1. n0ir

    n0ir Kid Droid Medlem

    Blev medlem:
    25 dec 2009
    Inlägg:
    74
    Mottagna gillanden:
    8

    MINA ENHETER

    Nu när vi äntligen har lyckats rota våra X10 Mini Pro:s så tänkte i.a.f. jag att det skulle vara schysst om det gick att redigera tangentbordslayouterna. Det som jag fr.f.a. stör mig på är att alt+e ger ' istället för ".

    Jag kolla runt lite i systemmappen på luren och hittade filen qwerty-se-fi.xml under system/usr/keyboard-config/layouts.

    Öppnar man upp filen hittar man bl.a.
    Kod:
      key id="18"
           primaryNormal="e" primaryShifted="E"
           associatedNormal="& apos;" associatedShifted="& apos;"/
    
    som ju lätt borde kunna redigeras till

    Kod:
      key id="18"
           primaryNormal="e" primaryShifted="E"
           associatedNormal="& quot;" associatedShifted="& quot;"/
    
    eller tänker jag fel (obs. att jag lagt in mellanslag i koden ovan eftersom forumet annars skriver ut de motsvarande symbolerna)?

    Oavsett vad så undrar jag hur man ersätter filen på telefonen med den redigerade filen? Försökte köra över filen genom

    Kod:
    adb push qwerty-se-fi.xml /system/usr/keyboard-config/layouts
    men fick bara "Permission denied". Det går inte heller att remounta i läs- och skrivbart läge med

    Kod:
    adb remount
    men får bara "remount failed: Operation not permitted".

    Försökte kopiera över filen via adb shell istället (så jag kunde få su) men det gick inte heller

    Kod:
    D:\tools>adb shell
    $ su
    su
    # adb push qwerty-se-fi.xml /system/usr/keyboard-config/layouts
    adb push qwerty-se-fi.xml /system/usr/keyboard-config/layouts
    adb: not found
    
    qwerty-se-fi.xml-filen ligger i tools-mappen. Telefonen har USB-felsökning aktiverad.

    Jag är en total nybörjare med Android och kommandon men visst ska man inte egentligen starta adb shell om man vill kopiera över filer?
     
  2. dekadans

    dekadans Adult Droid Medlem

    Blev medlem:
    6 jan 2010
    Inlägg:
    986
    Mottagna gillanden:
    6

    MINA ENHETER

    Jag vet inte hur du löser ditt problem, men vill bara påpeka att när man använder adb push/pull så ska man inte vara i adb shell. :)
     
  3. Josefsson

    Josefsson Baby Droid Medlem

    Blev medlem:
    29 jul 2010
    Inlägg:
    27
    Mottagna gillanden:
    2

    MINA ENHETER

    Jag tror du har blandat ihop begreppen lite, om man kör adb "fristående" så använder man sig av de kommandon som hör till adb d.v.s push, pull etc (kör adb.exe utan kommandon för en lista)

    Om du däremot kör 'adb shell' får du en interaktiv prompt på själva telefonen.
    Detta är ett vanligt (om än något bantat) linuxsystem och du använder ls, mv, mkdir och alla andra kommandon i /system/bin (kör ls /system/bin för lista)

    Viktigt att inse är att med en shell prompt befinner du dig "i" telefonen.
    Du har inte tillgång till filer på datorn där såsom din qwerty-se-fi.xml eller adb.exe
    När du försöker köra adb så letar den efter ett adb program i telefonen vilket inte finns...


    Så testa detta istället, kopiera först xml filen till minneskortet eftersom "/system" inte är inte skrivbart via adb (inte vad jag vet iaf)

    Kod:
    adb push qwerty-se-fi.xml /sdcard 
    ändra sedan miljön till telefonen:
    Kod:
    adb shell
    su (vi behöver root)
    
    Remounta /system med läs och skrivrättigheter
    Har sett olika block användas, men någon av dessa ska funka (om inte båda)
    Kod:
    mount -o rw,remount /dev/block/mtdblock0 /system
    mount -o rw,remount /dev/block/mtdblock3 /system
    Det kan vara en bra ide att ta backup på originalfilen
    Kod:
    mv /system/usr/keyboard-config/layouts/qwerty-se-fi.xml /system/usr/keyboard-config/layouts/qwerty-se-fi.xml.bak 
    Kopiera sedan xml filen från minneskortet antingen med
    Kod:
    cat /sdcard/qwerty-se-fi.xml > /system/usr/keyboard-config/layouts
    eller med busybox copy, du borde ha den efter rootningen
    vet inte varför vanliga copy inte finns med i android??
    Kod:
    busybox cp /sdcard/qwerty-se-fi.xml /system/usr/keyboard-config/layouts

    Om något skiter sig är det bara att döpa om backup filen igen,
    vi tar först bort den nya xmlfilen om den finns
    Kod:
    rm /system/usr/keyboard-config/layouts/qwerty-se-fi.xml
    mv /system/usr/keyboard-config/layouts/qwerty-se-fi.xml.bak /system/usr/keyboard-config/layouts/qwerty-se-fi.xml

    Notera att jag inte har mini pro så jag har inte kunnat testa om det funkar själv, lycka till!
     
    Last edited: 6 aug 2010
  4. n0ir

    n0ir Kid Droid Medlem

    Blev medlem:
    25 dec 2009
    Inlägg:
    74
    Mottagna gillanden:
    8

    MINA ENHETER

    Aha! Tack för utförligt och informativt svar, Josefsson! Kudos!

    Förstår nu lite mer hur jag ska använda mig av kommandoprompten när jag kommunicerar med luren.

    Redigerade och ersatte qwerty-se-fi.xml-filen men fick fortfarande samma tecken när jag skrev. Troligtvis är det m.a.o. inte riktigt så enkelt att ändra teckenuppsättningen som att endast redigera layout-filerna i /system/usr/keyboard-config/layouts.
     
  5. baker666

    baker666 Teen Droid Medlem

    Blev medlem:
    8 feb 2010
    Inlägg:
    403
    Mottagna gillanden:
    34
    Operatör:
    Halebop
    Telefon:
    Huawei P20 Pro

    MINA ENHETER

    Operatör:
    Halebop
    Telefon:
    Huawei P20 Pro
    När jag hade kört kommandot

    Kod:
    busybox --install
    så funkade cp (och säkert andra kommandon).

    Det installerar 'hardlinks' eller något...
     
  6. Josefsson

    Josefsson Baby Droid Medlem

    Blev medlem:
    29 jul 2010
    Inlägg:
    27
    Mottagna gillanden:
    2

    MINA ENHETER

    Tack för tipset!
    Stört mig på att cp inte funnits