PDAclub.pl - Forum użytkowników technologii mobilnych
Windows Mobile (Classic, Professional, Standard), Windows Phone 6.x oraz 7/8.x/10 => Oprogramowanie PPC => Wątek zaczęty przez: elektro255 w Wrzesień 14, 2010, 23:04:25
-
SlideIt jest alternatywą dla Swype (moim zdaniem szybszy), jednak polski słownik nie dość że wybrakowany, to jeszcze głupi układ klawiszy.
Stworzyłem nowy słownik (czysty bez słów), i dodałem około 50-60 tys słów bez ogonków (przydatne do SMS). Dodatkowo wgrywając go jako angielski (eng.dat) mamy normalną qwerty.
Aby zainstalować mój słownik należy skopiować eng.dat do katalogu /Program Files/Dasur/SlideIt/Data/ i najlepiej zrestartować telefon.
Jak kiedyś będę miał za dużo czasu to może zrobię słownik z ogonkami tak żeby dało się wgrać 2 słowniki (polski bez ogonków i polski z ogonkami jako alternatywny).
Poniżej zamieszczam informacje jak robiłem ten słownik gdyby ktoś chciał stworzyć lepszy słownik:
1. w katalogu empty jest pusty słownik, który trzeba zastąpić na jakiś w SlideIT jeśli chcemy zrobić słownik od nowa
2. tworzymy plik b.txt w którym są kolejne słowa ze znakiem enter po każdym
3. plik kopiujemy do /Storage Card/b.txt (koniecznie)
4. uruchamiamy aplikację na telefonie, zaznaczamy te "sss" kasujemy backspace na "swypie" i pokaze sie pierwsze 50 słów z pliku, gdy naciśniemy plusik w slideit wyrazy sie dodadzą i pokaże 50 nowych i tak trzeba klikać ten plusik aż do końca pliku :D
5. w opcjach SlideIt klikamy Save Now! żeby zapisać słownik
6. dzielimy się plikiem *.dat na forum :)
Aby w pełni zautomatyzować proces użyłem emulatora telefonu na komputer oraz skryptu AutoIT, który klikał plusik gdy "plusik był gotowy" (50 tys słów dodawało się jakieś 20 minut). Skrypt do AutoIT poniżej:
$iColorActive = PixelGetColor(45, 198)
While 1=1
$iColor = PixelGetColor(45, 198)
If $iColor = iColorActive then
MouseMove(45, 198, 0)
MouseClick("left")
Sleep(100)
while PixelGetColor(45, 198) = iColorActive
Sleep(50)
wend
EndIf
WEnd
Kod aplikacji na PPC:
namespace Keyboardlearn
{
public partial class Form1 : Form
{
bool done = false;
System.IO.StreamReader file;
public Form1()
{
int counter = 0;
string line;
file = new System.IO.StreamReader("/Storage Card/b.txt");
InitializeComponent();
}
private void textBox1_KeyUp(object sender, KeyEventArgs e)
{
if (!done)
{
String s = "";
for (int i = 0; i < 50; i++)
{
String line = file.ReadLine();
if (line == null)
{
break;
done = true;
panel1.BackColor = Color.Red;
}
s += line + " ";
}
textBox1.Text = s;
textBox1.SelectAll();
}
}
}
}
-
Niechaj zatem będę pierwszy który to przetestuje ;)
EDIT:
Na razię napiszę tylko tyle że działa :)
Oczywiście najbardziej denerwująca w polskim języku jest rozbudowana deklinacja, przez to już zauważyłem że o ile słowa podstawowe istnieją to ich odpowiedniki po odmianie już nie zawsze.
Mam pytanko, skąd brałeś bazę słów?
-
baza słów jest z któregoś postu w temacie o Swype, jak ktoś ma pełny słownik w txt to mogę go przerobić na słownik do slideit
-
Dzięki tobie tego slideit da sie używać. Szkoda ze w tym słowniku nie ma podstawowych słów jak np. telewizja, telewizor, bramka etc... Może dałoby sie wyciągnąć słownik z chrome lub office'a obciąć ogonki i dać do tego programu? Co ty na to?
-
jeśli chodzi o oryginalny słownik to słów jak telewizor i bramka też nie ma, moim zdaniem w oryginale dużo więcej słów brakuje.
Stworzyłem słownik na podstawie słownika frekfencyjnego (ok 300tys. słów wystepowanie >6), zajmuje 3MB ale nie rozpoznaje krótkich słów, myślę że SlideIT ma jakiś bug związany z dużą ilością słów, posortuje jeszcze ten slownik wg. długości, bo zauważyłem że krótkie wyrazy dodane na początku rozpoznaje lepiej
EDIT:
W pierwszym poscie nowy słownik wg listy frekfencyjnej PWN z 2008 roku, wyrazy występujące wiecej niż 60 razy (85724 słów).