MobileRead Forums

MobileRead Forums (https://www.mobileread.com/forums/index.php)
-   Kindle Developer's Corner (https://www.mobileread.com/forums/forumdisplay.php?f=150)
-   -   [Kindle Touch] xterm & matchbox-keyboard (https://www.mobileread.com/forums/showthread.php?t=179286)

baf 05-25-2012 07:01 AM

[Kindle Touch] xterm & matchbox-keyboard
 
1 Attachment(s)
Hi,
Inspired by other thread in this forum I built xterm and matchbox-keyboard for Kindle Touch. I prepared package for GUI Launcher. You can download it on this site. I hope the package will work for you. If not please let me know. I could have spoiled something, as I am new to Kindles. It should work on Kindle Touch with firmware 5.1.0.
For now, keyboard layout is very basic and not very comfortable. I will work on it when I have some free time.

deep 05-25-2012 07:35 AM

1 Attachment(s)
Awesome ! ... maybe you could optimize for landscape mode and also put up scroll buttons for increasing font size... :thumbsup:
Are the patches in your site; the only modifications you made on the code ?

baf 05-25-2012 07:43 AM

Patches are on the site. Just minor changes.
Changing xterm window size when orientation changes is a good idea. I put it on my todo list.

JoppyFurr 05-25-2012 08:16 AM

Very nice :3

MaPePeR 05-25-2012 09:11 AM

So the second really good looking Terminal Emulator for the Touch with Keyboard.
(Haven't tried it yet!)

But i wonder, why both have their own keyboard.
What is the problem with using the standard-touch-keyboard?
Why cant we just stick to this, so we don't have 5 different apps, that uses 5 different on-screen keyboards with 4 different layouts.

For me it looks like everyone is reinventing the wheel.
Well you might have your reasons to do so: but can you tell them?

Greetings.

This post is not only addressed to baf, but to everyone who has integrated his own keyboard.

knc1 05-25-2012 09:17 AM

Quote:

Originally Posted by MaPePeR (Post 2092767)
For me it looks like everyone is reinventing the wheel.
Well you might have your reasons to do so: but can you tell them?

Why is there ever more than a single product of any kind?

https://www.mobileread.com/forums/att...8&d=1336652980

geekmaster 05-25-2012 09:20 AM

Quote:

Originally Posted by MaPePeR (Post 2092767)
What is the problem with using the standard-touch-keyboard?
Why cant we just stick to this, so we don't have 5 different apps, that uses 5 different on-screen keyboards with 4 different layouts.

For me it looks like everyone is reinventing the wheel.
Well you might have your reasons to do so: but can you tell them?

I had a working touchscreen terminal using the "standard" keyboard LAYOUTS many months ago. It was so "linux-UNFRIENDLY" that I did not publish it. There are too many keyboard layouts to switch between, and most of them have two versions (press a key like "c" or "o" or "e" for two seconds to get the layout versions with the extra row of keys with accented characters. And even with all those keyboard layouts that require multiple "shift" keys to navigate, many important characters REQUIRED by linux are missing from them.

You cannot use the CODE that generates and manages those "standard" keyboard layouts in native-mode (compiled C) programs like these, because the built-in keyboard code is in the java framework and not available to native-mode programs. And as for just how "standard" those keyboard layouts are, just compare the K4 and K5 keyboard layouts -- they look and operate COMPLETELY DIFFERENTLY. To write a native-mode app that uses both sets of layouts, you would have to detect which kindle model your code was running on and then use a DIFFERENT set of keyboard layouts and code to drive them.

The unfinished terminal program that I work on when I have time uses a "REAL standard" keyboard layout commonly used on netbook computers. It does not need additional keyboard layouts for normal operation. I "blit" character images onto the keys so that I can support other keyboard layouts such as AZERTY or Cyrillic. I wish I had time to complete this, but I will have very little available time during the next two months.

MaPePeR 05-25-2012 09:24 AM

@knc1
Well i can understand, that some people want to drive a different car than others, so there might be more products of any kind, but all cars have round wheels, a break, a gas panel and a steering wheel.
And the keyboard is not the product itself, but the interface to the product.

We can be happy, that you don't need to do a special drivers license for any different car-brand, like you would have to do, if they would not use the same interface.

is that your signature image?


Thanks for the good answer, geekmaster.

If the keyboard is missing special keys: add them. its java, we can replace java functionality.

JoppyFurr 05-25-2012 09:27 AM

Quote:

Originally Posted by MaPePeR (Post 2092767)
So the second really good looking Terminal Emulator for the Touch with Keyboard.
(Haven't tried it yet!)

But i wonder, why both have their own keyboard.
What is the problem with using the standard-touch-keyboard?
Why cant we just stick to this, so we don't have 5 different apps, that uses 5 different on-screen keyboards with 4 different layouts.

For me it looks like everyone is reinventing the wheel.
Well you might have your reasons to do so: but can you tell them?

Greetings.

This post is not only addressed to baf, but to everyone who has integrated his own keyboard.

Hi,

For mine, there were a couple of reasons:

Firstly, I have no idea how to read input from the built-in Kindle keyboard.
Secondly, the built in keybord doesn't have all of the keys normally used on a computer anyway, for example, it has no Esc or Ctrl keys.

knc1 05-25-2012 09:35 AM

Quote:

Originally Posted by MaPePeR (Post 2092790)
is that your signature image?

No. google the text of my signature (less the word: "hack") -
Last verse (of B. Dylan's poem, other people have added to it):

Quote:

Originally Posted by Bob Dylan
Though I never knew just what you meant
When you were speaking to your man
I can only think in terms of me
And now I understand
After waking enough times to think I see
The Holy Kiss that's supposed to last eternity
Blow up in smoke, its destiny
Falls on strangers, travels free
Yes, I know now, traps are only set by me
And I do not really need to be
Assured that hack is just a four-letter word

I.E: A mental image, not a visual one.

deep 05-25-2012 09:36 AM

Quote:

Originally Posted by geekmaster (Post 2092781)

The unfinished terminal program that I work on when I have time uses a "REAL standard" keyboard layout commonly used on netbook computers. It does not need additional keyboard layouts for normal operation. I "blit" character images onto the keys so that I can support other keyboard layouts such as AZERTY or Cyrillic. I wish I had time to complete this, but I will have very little available time during the next two months.

Eagerly waiting for that project release !

geekmaster 05-25-2012 09:42 AM

Quote:

Originally Posted by MaPePeR (Post 2092790)
Thanks for the good answer, geekmaster.

If the keyboard is missing special keys: add them. its java, we can replace java functionality.

You can replace java functionality for java programs, but for compiled C programs such as this one, how can we use it in a simple and reliable way?

We could use a client/server method where a java "keyboard manager" program passes pressed keys to a native-mode (compiled C) program (perhaps through a shared file). But that is not simple, and may break on some kindle models or firmware versions.

I want my programs to run on all kindle models and firmware versions, with little or no awareness of WHICH kindle they are running on. I keycode differences by detecting the model only during program initialization and selecting a keycode translation table for later use. I also select which kind of eink update calls to do during initialization. The main code body should not care which kindle it runs on.

P.S. The best thing about standards is that there are so many to choose from.

knc1 05-25-2012 09:48 AM

Quote:

Originally Posted by geekmaster (Post 2092781)
The unfinished terminal program that I work on when I have time uses a "REAL standard" keyboard layout commonly used on netbook computers. It does not need additional keyboard layouts for normal operation. I "blit" character images onto the keys so that I can support other keyboard layouts such as AZERTY or Cyrillic. I wish I had time to complete this, but I will have very little available time during the next two months.

RANT
Perhaps you've noticed during the evolution of the NetBook products - - -
Our "space bar" is disappearing, if the trends continue, it will soon be no larger than any other key. ;)
/RANT

Which might not be such a bad idea in the confined real estate of an on-screen keyboard.

geekmaster 05-25-2012 09:49 AM

Quote:

Originally Posted by deep (Post 2092810)
Eagerly waiting for that project release !

It consists of a single simple C program file with no header files, and uses only a small number of "standard" header files (like stdio.h), like my other published C programs. And like the others, it works on all of my kindles (DX/DXG/K3/K4/K5). It is not ready to publish yet, but I do work on it when I have time (not much now though). I like to condense my code down to fit as much functionality as possible into the smallest number of lines of code that I can in the simplest way that I can. That is what I do for "fun".

Meanwhile, other terminal programs are welcome.

MaPePeR 05-25-2012 09:51 AM

Quote:

I want my programs to run on all kindle models and firmware versions
Thats a point.
Quote:

P.S. The best thing about standards is that there are so many to choose from.
http://imgs.xkcd.com/comics/standards.png

(Also: if we invert the standard 16"color" gray dithering: will we get more b/w pixels? for (even) more quality? if you say "blit to the screen" is that after or before the standard-dithering? simply ignore if this is to OT)


All times are GMT -4. The time now is 09:55 PM.

Powered by: vBulletin
Copyright ©2000 - 3.8.5, Jelsoft Enterprises Ltd.
MobileRead.com is a privately owned, operated and funded community.