KYT = Kill Your Television
http://w.atwiki.jp/pjkyt/
KYT = Kill Your Televisionja2012-01-05T04:12:48+09:001325704368FileDialogueComments
https://w.atwiki.jp/pjkyt/pages/22.html
- アルバイトはじめましたd(´∀`*)グッ♪ http://www.e29.mobi/ -- (わかりません) &size(80%){2012-01-05 04:12:48} 2012-01-05T04:12:48+09:001325704368FileDialogueJapaneseComments
https://w.atwiki.jp/pjkyt/pages/21.html
- レスありがとう。詳細はこれですd(´∀`*)グッ♪ http://www.64n.co/ -- (ありません) &size(80%){2011-12-29 15:04:09} 2011-12-29T15:04:09+09:001325138649KatakanaImeComments
https://w.atwiki.jp/pjkyt/pages/20.html
- てす -- (K) &size(80%){2010-07-12 20:15:00}
- カタカナを入力に使うのは上手い着眼点だと思います! &br()ただ動画はXperiaでしょうか?HT-03Aだと入力窓サイズが &br()妙に大きくなって、区分けもおかしい様です。 -- (soru) &size(80%){2010-07-22 00:20:56}
- コメントありがとうございます!動画はXperiaです &br()マルチ・スクリーン・レゾルーションの対応が甘かったようです &br()ちょっと今すぐは取り掛かれない状況なのですが, &br()なるべく早く対応します -- (K) &size(80%){2010-07-23 01:28:04}
- テスト &br()今後に期待してます &br()英数字との連携とか &br()よくなるといいですね。 &br()英数字も手書き入力とか。 &br()個人的にはSimeji連携とかもいずれ考えて欲しいです -- (FUM) &size(80%){2010-07-24 20:17:29}
- 続けてのコメント失礼します。 &br()ヲの書き順は精度の都合ですか? &br() -- (FUM) &size(80%){2010-07-25 13:22:13}
- コメントありがとうございます &br()そうですね,英数字との連携はなんとかしたいところです &br()ヲの書き順,ご指摘のとおり精度の都合でさぼっていました &br()正しく書いている人は少ないだろうと勝手な見込みをしていたのですが &br()説明で「書き順に従って」とする以上はサポートするべきですね &br()対策版をアップロードしました &br()現状では「テ」の認識精度を優先しているため &br()「ヲ」はかなり丁寧に書かないと出ないかもです &br() -- (K) &size(80%){2010-07-25 15:45:59}
- お疲れ様です。 &br()片手で書くためか書き方に癖があるのか &br()一度誤認識にはまると -- (FUM) &size(80%){2010-08-27 21:10:42}
- コメントありがとうございます &br()メッセージが途中で切れてしまったようですが &br()誤認識が連続する現象は私も確認しております &br()どうも条件によってタッチパネルが触ってもいない場所に &br()座標を拾ってしまうようです &br()その理由はなんとなく察しが付くのですが &br()アプリケーションからだとちょっとどうにもなりません &br()検討中の新しい認識エンジンではこういった問題への &br()対処も織り込もうと考えております -- (K) &size(80%){2010-08-29 12:02:59}
- IS01にインストールしてみたんですが「黒い入力画面」が出ませんでした。 -- (TERU) &size(80%){2010-10-10 17:23:29}
- すみません,しばらく見られませんでした. &br()IS01は触ったことがないのですが,横向き画面の機種ですね? &br()残念ながらカタカナIMEは横画面に対応しておりません. &br()画面下に十分なスペースがないけれど &br()画面の右なり左なりに入力領域を寄せて出すのが妥当なのかに &br()疑問があるのが主な理由です(そもそもそれができるのかも不明) &br()やるとしたら縦画面とは大分ちがったやり方になるかと思います -- (K) &size(80%){2010-11-10 00:07:25}
- どこでダウンロード可能ですか? -- (kiyomi) &size(80%){2011-04-24 01:01:16}
- ダウンロード出来ました☆ マッシュルーム対応んになることを期待しています! -- (kiyomi) &size(80%){2011-04-24 01:36:01} 2011-04-24T01:36:01+09:001303576561Android 日本語手書き入力
https://w.atwiki.jp/pjkyt/pages/19.html
** 何これ?
Android端末用の日本語手書き入力です.7月17日に野良アプリを卒業してAndroid Marketで公開しました.少しバージョンが古いですがデモ・ビデオをごらんください.
&youtube(http://www.youtube.com/watch?v=9TiYB-lseYU)
ソフト・キーボードはブラインド・タッチができないので,ちょっと打ち込んでは確認と修正を繰り返すことになります.このだるさはなんとかならんもんか,と作りました.慣れると快適に入力できます.漢字変換はオムロン社がソースを公開してくれているOpenWnnです.ありがたや.
ご意見,ご感想は下のコメント・フォーム,もしくは[[こちら>manhole-project@googlegroups.com]]まで
** 最新情報 26.Aug.2010
最新版をアップロードしました.地道な認識精度改善です.コメントでご指摘いただいたスクリーン・サイズの対応もやろうと思っていたのですが,ちょっと手が回らなかったです.別に難しいことじゃないんですが,あれこれでございまして.
さて,もう見た目にちゃんとしたカタカナならほぼ確実に認識できるレベルに来ていると思います.なので,認識率を上げようと思えばそれは簡単で,なぞった軌跡を表示するようにすればよいのです.ただ,それだと手元を見るようになっちゃって目標からそれてしまいます.あくまで「入力したつもりのカタカナを認識できる」をめざし改善を続けます.そのためには今の方式の限界が見えてきたので別のやり方を模索しています.
あと,データが足りないのでログをとらせてくれるテスターを探さないといけないです.今はKとYの筆跡のみをよりどころに作りこんでいるので.ちなみにYはギッチョでしてその筆跡を見るに付けつくづくカタカナは右利きに最適化された文字だと感じ入る次第です.
** 使い方
インストールしたら設定の「地域/言語&文字入力」でKatakanaIMEを有効にしてください.適当なテキスト・ボックスで長押しすると入力方法の選択メニューが出ます.KatakanaIMEを選んでください.キーボードの代わりに黒い入力画面がでるのでそこでなぞってください.入力方法は以下の通りです.だいたいビデオの中で説明してあります.
- 文字・記号入力
-- 文字入力はカタカナを書き順通りになぞってください
-- 濁音,半濁音はそのままなぞればいけます
-- 小文字は入力画面右下のマスでなぞると出ます
-- 句点,句読点は小文字領域で「,」や「。」を書くと出ます
-- 記号,絵文字は画面右下の「記」を押すと候補リストが出ます
- 削除,改行,空白,変換,決定,カーソル移動
-- Back spaceは右下から左上へ直線をなぞると発行されます(削除) ←&bold(){動画のバージョンと挙動が違います!}
-- Enterは「∨」を右から下,上へなぞると発行されます(改行,決定)
-- Spaceは「∧」を右から上,下へなぞると発行されます(空白,変換) ←&bold(){動画のバージョンと挙動が違います!}
-- 左右は画面両端にある三角形をタップするとそれぞれ発行されます(カーソルの移動)
- 入力モードの切り替え
-- 手書きからソフトキーボードへ移るには画面左下のマスをタップしてください
-- ソフトキーボードから手書きへ移るには画面左下のボタンを長押しして「手」を選んでください
- 右下「?」をタップするとヘルプが表示されます
** なぜカタカナ?
カタカナは手書き入力をする上でいろいろと有利です
+ ストローク数が最高でも6本と少ないため高速に入力できる
+ ひらがなと比べ,直線的なため認識が楽
+ 一音につき2文字以上を正確に打ち込む必要のあるローマ字のように誤認識率が乗算されない
+ Graffitiのようにルールを覚える必要がない
** 今後の予定
+ 地道に入力精度を上げる
+ スクリーン・サイズのサポートをちゃんとやる
+ 新しい認識方式を模索する
----
#comment_num2(size=60,vsize=5,num=20,logpage=KatakanaImeComments) 2010-08-26T23:44:34+09:001282833874メニュー
https://w.atwiki.jp/pjkyt/pages/2.html
**Menu
-[[Home>トップページ]]
-[[Manhole Transceiver]]
-[[File Dialog for Android]]
-[[Viewport for Android]]
- [[Hand Writing Japanese Input for Android > Android 日本語手書き入力]]
-Coming next ...
----
// リンクを張るには "[" 2つで文字列を括ります。
// ">" の左側に文字、右側にURLを記述するとリンクになります
//**更新履歴
//#recent(20)
&link_editmenu(text=ここを編集)
2010-07-12T22:26:57+09:001278941217Viewport for Android
https://w.atwiki.jp/pjkyt/pages/18.html
* What's this?
I wrote a library that supports the graphic rendering using viewport. For Android developers, the regular way to access viewport is through the OpenGL ES. But it is mainly intended for 3D graphics. And it also means you have to learn OpenGL programming, which is quite different from that of Java graphics. I had tried to make life easier for the light-use of the viewport on Android.
Viewport-and-window is a standard technique in the computer graphics. You define graphic objects in the virtual ground plane (world coordinate) and the set the window. When is perceived through this window is rendered in the viewport of the device screen. For further detail, please take a look at a web page like [[this>http://www.cse.ohio-state.edu/~gurari/course/cis681/cis681Ch7.html]].
&youtube(http://www.youtube.com/watch?v=6ghWopI8a4o)
This video demonstrates what can be done with this library. You can download this example code from the link. Of course, this is a very simple example, mainly intended for serving sample code. You can do much more complex things building on this example.
[[Download>http://www37.atwiki.jp/pjkyt?cmd=upload&act=open&pageid=18&file=VpvExample_4Jul.zip]]
* How to use
The two key components are ViewportedView and DrawNode. ViewportedView provides the world coordinate while DrawNode represents the graphic objects therein.
* ViewportedView
The application using ViewportedView will create its own View extending ViewportedView. Take a look at VpvExampleView.java in the download package to see how it is used.
ViewportedView roughly provides three things.
1. Model for the ground plane and window
2. Window control based on the touch gestures
3. Notification of the touch gestures
1 is provided through DrawWindow class. ViewportedView instantiates one instance of DrawWindow as it is instantiated. DrawWindow maintains where in the world coordinate (we call it a ground plane) the window is and how large. It also provides the set of functions that translates coordinates between the ground plane and view port.
2 means the size and location of the window are updated in reaction of the touch gesture. As shown in the video, the screen slides to the right as finger swipes to the left. Since my Xperia doesn't support multi-touch, I couldn't implement the pinch zoom (though it should be easy to do so)
3 allows application use the touch gesture. The plain View detects more primitive touch events like up, down, and move. ViewportedView processes them and detects tap, press, slide, and flick. The application view gets this information by overriding onTouch() function. Normally, the slide and flick are consumed by ViewportedView for moving window. To use those gestures, the application must first call lockViewport().
* DrawNode
DrawNode is an abstract class representing the graphic object. It holds the coordinate / metric of the node and provides the draw method. For the sake of convenience, I'm using the term node to refer graphic object. But this doesn't imply the node has to be a simple circular node like it is in the example. It maybe a text box. It may be a bitmap. Or, it may be a complex combination of shapes. It just needs to be implemented in the draw() function.
In the download package, BubbleNode and CtrlNode are the example of such graphic objects extending DrawNode.
BubbleNode implements the yellow nodes sitting around in the ground pane. Their location on the viewport depends on the window; therefore, they hold the ground plane coordinate (getX() will return the coordinate in the ground plane). See how the coordinate is converted in the draw() function.
CtrlNode implements the zoom button on the bottom-right hand corner. Their location is fixed on the viewport; therefore, they hold the viewport coordinate (getX() will return the coordinate in the viewport). See how its draw() implementation differs from that of BubbleNode.
In the ViewportedView example, BubbleNodes are stored in DrawNodeList while CtrlNodes are stored in the regular array. Besides proving a storage, DrawNodeList is able to create the list of nodes visible in the current window -- getNodesToDraw(). If the node is not visible (i.e. outside of the current window frame), there is no need to actually render that node. On the other hand, CtrlNode is a static object on the screen, which is anyway rendered all the time. And since it holds viewport coordinate, getNodesToDraw() won't work anyway.
#comment_num2(size=60,vsize=5,num=20,logpage=VpvExamplerComments) 2010-07-04T02:09:33+09:001278176973トップページ
https://w.atwiki.jp/pjkyt/pages/1.html
[[日本語>Home (Japanese)]]
**What's this?
- Wiki for K, Y, and T to write programs and discuss technologies as well as non-technologies.
- We're open for topics
**Who?
- We are all engineers
- K does mobile
- Y does semi-conductor
- T does networks
**Contact
- manhole-project <AT> googlegroups.com 2010-06-28T23:50:55+09:001277736655Home (Japanese)
https://w.atwiki.jp/pjkyt/pages/17.html
**何これ?
- KとYとTが一緒になってプログラムを書いたり,技術やそうじゃないことを論じたりするWiki
- 面白そうならなんでもやります
**誰?
- みんなエンジニア
- K: 携帯電話屋さん.XPeria,E71, E-420持ちのアンチ・メジャー派.よく寝違える.
- Y: 半導体屋さん.XPeria持ち,Vaio Type P持ちの寝モバ信者.最近リア充.
- T: ネットワーク屋さん.iPhone,MacBook持ちの気合の入ったApple信者.将棋が強い.
**言いたいことがあるんだけど
- こちらへどうぞ: manhole-projectあっとgooglegroups.com 2010-06-28T23:39:23+09:001277735963File Dialog for Android
https://w.atwiki.jp/pjkyt/pages/15.html
[[日本語>File Dialog for Android (Japanese)]]
** What's this?
As far as I know, Android SDK has no offering of standard FileDialog as it exists for Java SE. I thought it might help to make something simple available. It's just a toy code. Feel free to do anything with it.
[[Download>http://www37.atwiki.jp/pjkyt?cmd=upload&act=open&pageid=15&file=FdExample_28Jun2010.zip]]
#ref(http://www37.atwiki.jp/pjkyt?cmd=upload&act=open&pageid=15&file=FdScreenShot.png)
** What it does
It works in four modes
1. Select file
2. Create file
3. Select directory
4. Create directory
In mode 1 and 3, the file dialog have the user select existing file / directory. User can navigate through the file system up and down and tap on the desired the file (Figure 1). In case of selecting directory, user can press <Here> to specify the current directory.
In mode 2 and 4, the file dialog have the user enter the new file / directory name that he wishes to create. User can navigate through the file system up and down and tap <Here> to designate where the file should be created (Figure 2). Then a text box dialog appears and asks for the new file / directory name (Figure 3). In case a file is selected, the text box is brought up with the selected file name filled in.
** How it works
Here's an example code you'll find in the download package.
The code inside onCreate() corresponds to the four mode explained above. The first argument is the initial directory. The second and third controls the mode. And the fourth and fifth passes the Context and FileDialogue.Listener. FileDialogue.Listener must be implemented to receive the result from FileDialogue.
fd.showDialogue() launches the dialog box. When user has made selection, onSelected() is invoked with the directory and file name as an argument (filename will be "" when ). Else when user has pressed the "back" button, onCanceled() is invoked.
That's it!
public class FdExample extends Activity implements FileDialogue.Listener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// (1) Select file, starting direcotry is /sdcard/
FileDialogue fd = new FileDialogue(null, FileDialogue.FILE, FileDialogue.SELECT, this, this);
// (2) Create file, starting direcotry is /sdcard/, user will be requested to enter filename
// FileDialogue fd = new FileDialogue("/sdcard/picture/", FileDialogue.FILE, FileDialogue.CREATE, this, this);
// (3) Select directory, starting direcotry is /sdcard
// FileDialogue fd = new FileDialogue(null, FileDialogue.DIRECTORY, FileDialogue.SELECT, this, this);
// (4) Create directory, starting direcotry is /sdcard/, user will be requested to enter direcotry name
// FileDialogue fd = new FileDialogue(null, FileDialogue.DIRECTORY, FileDialogue.CREATE, this, this);
fd.showDialogue();
}
public void onSelected(String directory, String filename) {
// filename will be "" when target is the FileDialogue.DIRECOTRY
Log.v("FdExample", "Directory = " + directory + ", File = " + filename);
}
public void onCanceled() {
// this is when "back" button is pressed
Log.v("FdExample", "Canceled");
}
}
** Is this as good as it gets?
Actually, I had never liked the file dialog in general. It is rather tiring to use it. As it is launched, I must resolve where I am now and plan how I should travel to the objective location. It's a lot of screen interpretation, a lot of structural memory challenge, and not even a hint of joy. It it one UI scheme that abuses the weak parts of the human capability.
So we have some idea going. We are thinking we can create a better alternative that can take advantage of parallel processing of visual image and geometric / chromatic memory -- human is much better at those. It will be quick to get desired location, much less stressful to use, and hopefully fun. I hope we can implement the idea quickly and make available through this wiki soon.
#comment_num2(size=60,vsize=5,num=20,logpage=FileDialogueComments) 2010-06-28T23:19:51+09:001277734791File Dialog for Android (Japanese)
https://w.atwiki.jp/pjkyt/pages/16.html
** 何これ?
Java SEのFileDialogに相当するものがAndroid SDKにはないので(ないよね?),簡単なものでもあれば便利かなと思ってを作ってみました.好きに使ってください.
[[ダウンロード>http://www37.atwiki.jp/pjkyt?cmd=upload&act=open&pageid=15&file=FdExample_28Jun2010.zip]]
#ref(http://www37.atwiki.jp/pjkyt?cmd=upload&act=open&pageid=15&file=FdScreenShot.png)
** 何ができるの?
ざっくり言って4つのことができます
1. ファイルの選択
2. 新しいファイル名の指定
3. ディレクトの選択
4. 新しいディレクトリ名の指定
1と3はファイル・システム上に存在するファイルないしはディレクトリをユーザーに選ばせます.Figure 1に示すようにリスト・ビューでディレクトリを移動し,目的のファイルを選択します.3の場合は<Here>を押せば,現在のディレクトリが選択されます.
2と4はファイル・システム内に新しいファイルないしディレクトリの名前を指定します.任意のディレクトリで<Here>を押すと,ファイル名を指定するためのテキスト・ボックスが現れます(Figure 2, Figure 3).2の場合は,既存のファイルを指定することでもファイル名の指定ができます(選択されたファイル名があらかじめテキスト・ボックスに挿入されています).
** 使い方
ダウンロード・パッケージには次のようなサンプル・プログラムが入っています.
onCreate()内のコードが上記4つの使い方の例になっています.最初の引数で開始位置のディレクトリを指定します.2番目と3番目で使い方を指定します.4番目と5番目でContextとFileDialogue.Listenerを指定します.結果を受け取るためにはFileDialogue.Listenerを実装する必要があります.
fd.showDialogue()でファイル・ダイアログが表示されます.結果はonSelected()の引数に渡されます(ディレクトリ指定の場合はfilenameには""が入っています).ユーザーがBackボタンを押した場合はonCanceled()が呼び出されます.
です.
public class FdExample extends Activity implements FileDialogue.Listener {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// (1) Select file, starting direcotry is /sdcard/
FileDialogue fd = new FileDialogue(null, FileDialogue.FILE, FileDialogue.SELECT, this, this);
// (2) Create file, starting direcotry is /sdcard/, user will be requested to enter filename
// FileDialogue fd = new FileDialogue("/sdcard/picture/", FileDialogue.FILE, FileDialogue.CREATE, this, this);
// (3) Select directory, starting direcotry is /sdcard
// FileDialogue fd = new FileDialogue(null, FileDialogue.DIRECTORY, FileDialogue.SELECT, this, this);
// (4) Create directory, starting direcotry is /sdcard/, user will be requested to enter direcotry name
// FileDialogue fd = new FileDialogue(null, FileDialogue.DIRECTORY, FileDialogue.CREATE, this, this);
fd.showDialogue();
}
public void onSelected(String directory, String filename) {
// filename will be "" when target is the FileDialogue.DIRECOTRY
Log.v("FdExample", "Directory = " + directory + ", File = " + filename);
}
public void onCanceled() {
// this is when "back" button is pressed
Log.v("FdExample", "Canceled");
}
}
** これが限界かい?
個人的にはファイル・ダイアログが苦手です.今どこにいるのか,どうやって目的地に達するのか,疲れるしつまんないです.人間が苦手な処理の塊のようなUIだと思います.
なので,もうちょっと別のやり方があるんじゃないかと思って今いろいろ考えてます.人間の得意とする画像の並列処理や位置や色の記憶をつかってスパっと目的地へ到達できるようにできるんじゃないかと思ってます.出来上がったらまたこのWikiで.
#comment_num2(size=60,vsize=5,num=20,logpage=FileDialogueJapaneseComments) 2010-06-28T23:18:54+09:001277734734