Il Forum è consultabile solo in modalità lettura. Per domande o consigli iscriviti al nostro GRUPPO FACEBOOK / COMMUNITY cliccando qui

[GUIDA] [APP] Phantom Key Presses Filter Manager

Discussione in 'Modding - Samsung Galaxy S Plus (i9001)' iniziata da pierm, 14 Ott 2013.

  1. pierm

    pierm Silver Droid

    Iscritto:
    29 Ago 2013
    Messaggi:
    2.167
    "Mi Piace":
    741
    Salve ragazzi, vi riporto l’apk di Christopher utilissima per migliorare le prestazioni per il nostro S plus.
    DISCLAIMER:
    Nè io nè il forum e tantomeno gli sviluppatori ci assumiamo la responsabilità per danni causati dall'installazione di ciò che è in questo thread.



    PKF Manager
    (Phantom Key Presses Filter Manager)

    Ciao a tutti,
    questa è l'app per poter meglio personalizzare i parametri di filtro messi a disposizione dal modulo phantom_kp_filter, creato per mitigare la problematica delle pressioni "fantasma".
    Questa applicazione richiede, quindi, come requisito fondamentale, un custom kernel che include anche il modulo phantom_kp_filter. Questo modulo è stato inizialmente implementato ed incluso nel mio kernel (K^Kernel) per poi essere incluso anche in altri kernel, compreso il nuovo 3.4 kernel stock.


    Descrizione del problema delle pressioni "fantasma":
    Il problema delle pressioni "fantasma" è causato da un bug hardware ben noto e presente su alcuni dispositivi Samsung, inclusi alcuni modelli di I9001.
    Praticamente, l'elevata attività della parte hardware radio, principalmente l'antenna (specialmente quando si è in modalità 2G), può causare interferenze sul circuito integrato Melfas, adibito alla gestione delle pressioni dei pulsanti e posizionato molto vicino all'antenna. Questa interferenza potrebbe indurre falsi interrupt che vengono visti dal chip come possibili pressioni del pulsante HOME, MENU o BACK.
    Queste pressioni indesiderate potrebbero provocare chiusure inaspettate delle app correntemente in uso, la comparsa di Google Search, il ritorno alla home del laucher, o l'accensione del display del dispositivo se si trovava in modalità di sospensione (semplicemente appoggiato sulla scrivania). Ovviamente, questo problema potrebbe anche causare un consumo di batteria maggiore rispetto al normale.


    Funzionalità dell'app:
    • Abilitazione / disabilitazione del filtro delle pressioni fantasma sul pulsante HOME e sui touchkey MENU/BACK
    • Personalizzazione dei parametri di filtering
    • Visualizzazione delle pressioni dei pulsanti ignorate (possibili pressioni "fantasma" )
    • Persistenza delle impostazioni dopo chiusure della app / riavvi / spegnimenti
    • Le precedenti impostazioni dei parametri di filtraggio verranno ripristinate durante il primo avvio dell'app


    Download link:


    Installazione:
    1. Cancellare gli eventuali script 05pkf* precedentemente posizionati in /etc/init.d
    2. Scaricare ed installare l'applicazione
    3. Avviarla e personalizzare i parametri a vostro piacere


    Screenshots:

    [​IMG] [​IMG]
    [​IMG] [​IMG]

    Come usare l'app:
    E' possibile spostarsi tra le 3 schede (tab view) della app con degli swipe a sinistra/destra o facendo click sul pulsante di intestazione della tab desiderata.
    I valori selezionati verranno applicati e salvati immediatamente dopo la modifica dell'opzione o la conferma della popup di dialogo.

    Tab HOME Key Presses Filtering
    • Status: questa opzione permette di abilitare/disabilitare il filtro sulle pressioni fantasma del pulsante HOME (default disabilitato)
    • Max allowed incoming interrupts: premendo su questa opzione è possibile personalizzare il numero massimo consentito di interrupt in ingresso per poter considerare una pressione del pulsante HOME come valida (da 1 a 32, default = 4), un valore inferiore consente di avere un filtro più aggressivo, invece un valore più alto permette di avere una filtro più permissivo
    • Report wait time: premendo su questa opzione è possibile personalizzare il tempo di attesa in ms prima di segnalare le pressioni dei pulsanti HOME correntemente ricevute (da 5 a 25 ms, default = 12 ms), le pressioni dei pulsanti, durante questo tempo di attesa, vengono temporaneamente memorizzate e segnalate solo se il sistema ha ricevuto un numero di interrupt minore o uguale al numero massimo consentito
    • Ignored phantom key presses: mostra le pressioni del pulsante HOME finora ignorate, premendo sulla voce verrà acquisito il valore aggiornato
    Tab MENU/BACK Key Presses Filtering
    • Status: questa opzione permette di abilitare/disabilitare il filtro sulle pressioni fantasma dei pulsanti MENU/BACK (default abilitato)
    • Interrupt checks: premendo su questa opzione è possibile personalizzare il numero di controlli da effettuare sugli interrupt in ingresso relativi alle pressioni dei pulsanti MENU e BACK (da 1 a 10, default = 10), un valore minore consente di avere un filtro più permissivo, invece un valore più alto evita in modo sicuro la maggior parte dei falsi interrupt
    • First error wait time: premendo su questa opzione è possibile personalizzare il tempo in millisecondi di attesa dopo il primo errore rilevato sul pulsante MENU o BACK nel caso ci siano molte pressioni non valide in rapida sequenza (da 50 a 1000 ms, default = 500 ms), il valore di default è ottimale e ben testato
    • Last error wait time: premendo su questa opzione è possibile personalizzare il tempo in millisecondi di attesa dopo l'ultimo errore rilevato sul pulsante MENU o BACK nel caso ci siano molte pressioni non valide in rapida sequenza (da 50 a 1000 ms, default = 100 ms), il valore di default è ottimale e ben testato
    • Ignored phantom key presses: mostra le pressioni dei pulsanti MENU/BACK finora ignorate, premendo sulla voce verrà acquisito il valore aggiornato
    Tab About
    • XDA forum thread: premendo su questa opzione, sarete reindirizzati sul thread ufficiale che ho pubblicato su XDA
    • Donate: premendo su questa preferenza, sarete reindirizzati su PayPal


    Codice sorgente dell'app:
    Potete trovare il codice sorgente della app sul mio GitHub al seguente percorso:


    Il workaround sviluppato sul kernel e il modulo phantom_kp_filter:
    Per risolvere questo problema, che interessa anche il mio I9001, ho sviluppato un possibile workaround software direttamente sul kernel.
    La soluzione include un nuovo modulo (phantom_kp_filter), che permette anche la personalizzazione dei parametri di filtraggio tramite interfaccia sysfs, e varie modifiche ai moduli cypresss-touchkey e pmic8xxx-key.
    Il nuovo modulo espone la sua interfaccia sysfs al seguente percorso: /sys/class/misc/phantom_kp_filter e la app permette di controllare in maniera semplice i vari parametri esposti.


    Risorse:
    Potete trovare la soluzione implementata sul kernel e il relativo modulo sul mio repository GitHub, la commit è la seguente:

    La soluzione lato kernel relativa alla gestione delle pressioni "fantasma" dei pulsanti MENU/BACK (touch key) è in parte basata e riadattata sul lavoro di Electric Bill: XDA - Phantom keypress and screen shot

    Ulteriori dettagli sul modulo, suggerimenti e post utili potrete trovarli sul thread ufficiale su XDA (in inglese).



    Crediti e ringraziamenti:
    Electric Bill per la sua ricerca e le possibili soluzioni software e hardware
    Jt1134 per la sua soluzione realizzata per il kernel del team CyanogenMod per il Fascinate
    KTulu84, Smeroni68, Educk, Spaazm e Abhi.a3s per il loro supporto in fase di test
    Smeroni68 e Neurom per le loro donazioni

    Ricorda sempre prima di postare una domanda, chiedere informazioni o aiuto (tutto a vostro vantaggio):

    “scrivi le caratteristiche del tuo device indicando rom,kernel , Baseband , versione Android, emc brick o no, allega degli screenshot, aggiorna la firma, in modo da evitare indagini continue e dispendiose da parte di tutti, ma piu' di ogni altra cosa errori nelle risposte che potrebbero danneggiare solo il tuo terminaleâ€. Si ricorda che sono vietati dal regolamento i messaggi inviati pm - grazie a tutti
     
    A Pazuzu e Morissio piace questo messaggio.
  2. pierm

    pierm Silver Droid

    Iscritto:
    29 Ago 2013
    Messaggi:
    2.167
    "Mi Piace":
    741
    Changelog:
    Codice:
    [B]29/06/2013 - PKF Manager v1.3[/B]
    - Traduzione in cinese (grazie a zxc123coke)
    - Traduzione in serbo (grazie a ZordanKV)
    - Correzioni alla traduzione in spagnolo (grazie a davidteri91)
    - Correzioni alla traduzione in ungherese (grazie a educk)
    
    [B]20/05/2013 - PKF Manager v1.2[/B]
    - Versione del modulo phantom_kp_filter all'interno della tab About
    - Traduzione in italiano
    - Traduzione in olandese (grazie a mrjraider)
    - Traduzione in polacco (grazie a mieszk3)
    - Traduzione in rumeno (grazie a Laurentyu1995)
    - Traduzione in russo (grazie a Shram32)
    - Traduzione in spagnolo (grazie a davidteri91)
    - Traduzione in tedesco (grazie a XeLLaR*)
    - Traduzione in ungherese (grazie a educk)
    
    [B]09/05/2013 - PKF Manager v1.1[/B]
    - Alcune piccole fix e ottimizzazioni
    - Pubblicata su Google Play
    - Codice sorgente dell'app pubblicato su GitHub
    
    [B]05/05/2013 - PKF Manager v1.0[/B]
    - Prima versione rilasciata
    
     
    A Pazuzu e Morissio piace questo messaggio.
  3. pierm

    pierm Silver Droid

    Iscritto:
    29 Ago 2013
    Messaggi:
    2.167
    "Mi Piace":
    741
    Faq utili per capire quando utilizzare l’apk:

    Non tutti i device sono affetti dal problema, specialmente per quanto riguarda le pressioni fantasma del tasto HOME. Mentre il problema della pressione del tasto MENU è molto diffuso, soprattutto quando si termina una chiamata, e spesso comporta l'apertura indesiderata di Google Search.

    Il modulo è stato integrato da Arco anche nel branch jb-3.0 dei sorgenti del kernel stock (usati poi anche da Ivendor). Quindi, non solo ikernel stock 3.4 e derivati per CM 10.1 beneficeranno del supporto di questo filtro, ma anche i futuri kernel stock 3.0 e derivati (che ancora non hanno il modulo integrato) per le future rom CM 10.

    Se non trovate nulla nel file /etc/init.d... e’ normale.
    Lo step di cancellazione degli eventuali script 05pkf* precedentemente messi in /etc/init.d è necessario per tutti gli utenti (in particolare quelli che seguivano il mio thread su XDA) che usano il mio kernel e adottavano l'attivazione / personalizzazione del filtro delle pressioni fantasma via script.

    Cercherò di chiarire un po' la questione, soprattutto per chi non frequenta il forum XDA:
    - il 15/04 su XDA ho rilasciato il K^Kernel v1.6 che includeva il nuovo modulo phantom_kp_filter (Phantom Key Presses Filter)
    - il modulo espone un'interfaccia (in pratica sono dei file) sulla partizione /sys (in gergo sysfs interface) che permette la visualizzazione/personalizzazione dei parametri del modulo (il percorso è /sys/class/misc/phantom_kp_filter)
    - il modulo filtra da subito le pressioni non valide/fantasma sui touch key (MENU e BACK), cioè il filtro è attivo di default, quindi, per intenderci, risolve immediatamente il problema dei back inaspettati o della comparsa non desiderata di Google Search
    - il filtro sulle pressioni fantasma del pulsante HOME è disabilitato di default (non capita a tutti e richiede una personalizzazione che varia da device a device, in base all'entità della problematica)
    - inizialmente avevo messo a disposizione degli script (denominati 05pkf) da mettere in /etc/init.d in modo tale da attivare all'avvio anche il filtro sulle pressioni fantasma del pulsante HOME
    - nel frattempo avevo anche iniziato a sviluppare questa app per permettere una gestione più user friendly di questi parametri fino a rilasciarla nei giorni scorsi
    - la app si preoccupa di modificare i parametri esposti dal modulo (via sysfs interface) in base a quanto da voi impostato, garantisce la persistenza degli stessi e li reimposta al completamento dell'avvio del telefono

    Q Ho attivato l’apk e ho rilevato questo, e’ normale?

    pressione homkey ignorate: 51311
    pressioni sof touche ignorate: 117

    A
    il tuo I9001 soffre della problematica delle pressioni fantasma e il modulo te le sta filtrando...
    Il modulo e la app servono appunto per questa finalità, filtrare le pressioni non desiderate. La app ti sta indicando quante finora ne ha filtrate.
    Se vorresti vedere 0, essendo causato da un problema hardware, allora dovresti portare il cellulare in assistenza e far sostituire la motherboard o far schermare il chip.

    Quando l'antenna crea interferenze, viene generata, in pochi millisecondi, una vera e propria scarica di interrupt in sequenza ravvicinatissima con valori a 1 (tasto giu) o 0 (tasto su). Sul mio I9001 arrivano ad oltre 200 in 12 ms, oltre 1000 in un secondo, in alcuni punti dove il segnale non è particolarmente buono.
    Visivamente non è possibile accorgersi di tutte queste possibili pressioni in un frangente di tempo così piccolo, ne vedi al massimo una sola.

    Inoltre se sei in 2G, senza modulo di filtraggio delle pressioni fantasma, il cell potrebbe essere inutilizzabile.


    Q Dopo aver aggiornato la rom e il kernel avevo il solito problema del tasto home..2 pressioni per l'accensione del display..e un accensione del display automatica..Allora ho fatto un full wipe e il problema sembra essere svanito..Adesso dopo l'ultimo aggiornamento di PKF...cosa mi consigli?
    tengo spento il filtro pressioni home o lo accendo?


    A
    Lascia disattivato il filtro sulle pressioni del tasto home (come impostazione predefinita) e attivalo solo se ti capitano molto spesso i problemi relativi alle pressioni fantasma su quel tasto (accensioni dello schermo senza toccare il dispositivo, back alla home del launcher ).

    Q Alzando il numero massimo di interruzioni influisce sulle prestazioni?

    A.
    No, solo nel caso in cui hai tantissimi interrupt causati dalle interferenze, in quel caso, prima vengono filtrati e meglio è.
     
    Ultima modifica: 15 Ott 2013
    A ktulu, Pazuzu e Morissio piace questo elemento.
  4. pierm

    pierm Silver Droid

    Iscritto:
    29 Ago 2013
    Messaggi:
    2.167
    "Mi Piace":
    741
    riservato
     
  5. Krsna

    Krsna Worker Droid

    Iscritto:
    1 Ott 2013
    Messaggi:
    139
    "Mi Piace":
    30
    Posso installarla con la pac-man questa applicazione=? Questa applicazione è utilizzabile solo su Samsung Galaxy S Plus (I9001), è inoltre necessario aver installato una rom CyanogenMod 9/10/10.1 e derivate,
    poi altra domanda,questo kernel che sto usando include il modulo Phantom Key Presses Filter? qualche altro kernel che posso provare?ho notato che il consumo della batteria è un pò eccessivo.
    Ciao e grazie!
     

    Files Allegati:

  6. pierm

    pierm Silver Droid

    Iscritto:
    29 Ago 2013
    Messaggi:
    2.167
    "Mi Piace":
    741
    ciao, hai la stessa rom mia con il kernel di christopher, lascia questo. non mettere la 3.4.66 perche' la rom deve aggiornare i sensori per la bussola e la calibrazione. Ti rispondo che devi installarla per avere una migliore efficienza, specie se hai dei freeze o spegnimenti improvvisi del launcher o apk (segui le faq che sono fondamentali, infatti sono anche domande mie che feci a chris ;)) Il kernel non include il PKF ma la ROM CM10.1 del team ADC si. Altri kernel prova il castagna IT o il phenom kernel di educk. Ottimi entrambe, personalmente il k^k e' il top.
    Per i consumi di batteria non dipendono dal kernel te lo garantiscono, ma da come usi il cell e come lo configuri. Inizia a leggerti come usare CPU spy e greeenify, guarda un attimo il segnale wi-fi i colori.
    Fammi sapere se ti serve altro.
    ciao
     
    A Krsna piace questo elemento.
  7. Krsna

    Krsna Worker Droid

    Iscritto:
    1 Ott 2013
    Messaggi:
    139
    "Mi Piace":
    30
    Ciao e grazie ho installato PKF,non noto più freeze e non è male affatto... ho tenuto il kernel come mi hai suggerito e in piu ho provato greenfy che è una piacevole sorpresa,risparmio sulla batteria evidente...poi il CPU spy l'avevo già usata per vedere il deep sleep. Altri usi per Cpu spy ancora per ottimizzare ci sono? :D
     
    Ultima modifica: 26 Ott 2013
  8. pierm

    pierm Silver Droid

    Iscritto:
    29 Ago 2013
    Messaggi:
    2.167
    "Mi Piace":
    741
    spostati sulla pacman che ti rispondo li per un altra miglioria, ti ho risposto nel thread della pacman
     
    Ultima modifica: 26 Ott 2013