Inspired by Xah's essays on keyboard layouts and ergonomics, i searched the web for studies on keyboard layouts for the portuguese language. The only reference i found useful was <http://tecladobrasileiro.com.br>, but they seem to have done their homework well, for the end result so far (3 weeks) feels good on the hands. It also taught me touch-typing and i can type already almost as fast as i could when using the previous qwerty-based layout i've used for years. And to finish this introductory bit, let me say that Klavaro is a very nice piece of software to help touch-type apprentices measure their progress.
I edited the us-layout so to reflect my current keyboard layout and named it "pt-nativo" accordingly. Adapted ErgoEmacs-mode where needed and am already using it, but only if i have the ERGOEMACS_KEYBOARD_LAYOUT variable defined a priori its execution. I believe i have the data "ErgoEmacs.exe" needs to recognize this layout and set the environment variable for me by means of the output of the following C code:
#include <windows.h>
#include <winuser.h>
#include <stdio.h>
int main(void){
char buf[KL_NAMELENGTH];
printf("GetKeyboardLayoutName(%p) = %d\n", buf, (char) GetKeyboardLayoutName(buf));
printf("%p = %s\n", buf, buf);
printf("kbdcode = %d\n", strtol(buf, NULL, 16) & 0xfffff);
return 0;
}
which consistently prints:
GetKeyboardLayoutName(000000000012fef7) = 1
000000000012fef7 = A0000816
kbdcode = 1048575
I took a look at ErgoEmacs.c and am guessing that this new keyboard layout code overflows the current range supported. But i leave such matters to the competent ones. As a side note, i'm running ErgoEmacs 1.8.1 on Windows 7 64bit.
Beside this, i only dislike the relatively slow startup time for one particular reason: i usually move its window while loading but when it finishes, it resizes and moves again. It's no biggie, just a bit annoying. Curiously, i wanted to see what would the bare mininum be to run ErgoEmacs-mode, so i downloaded the "barebones" version of Emacs 23.2, copied ErgoEmacs-mode, made it load through "site-start.el" and, dependency by dependency, went on copying files to the "lisp" directory until it run. If you care to know, they are: redo.el, delsel.el, easy-mmode.el, help-fns.el, edmacro.el, kmacro.el, cl.el, cl-loaddefs.el, cl-macs.el, bytecomp.el and cl-seq.el.
In the end, i would like you to know that i appreciate your efforts and that ErgoEmacs already means a great deal to me. Attached in a zip file comes my current keyboard layout. In my private setup, i described it as "An adapted portuguese keyboard layout" in "ergoemacs-mode.el".
Another thing i would like to address before leaving this post: this is my first time using such a platform as "Google Code". If this post is misplaced or by any means i did not comply with what was expected, would you care to educate me so i don't make the same mistake again?
Cordial regards, Xavier Pinho.
Inspired by Xah's essays on keyboard layouts and ergonomics, i searched the web for studies on keyboard layouts for the portuguese language. The only reference i found useful was <http://tecladobrasileiro.com.br>, but they seem to have done their homework well, for the end result so far (3 weeks) feels good on the hands. It also taught me touch-typing and i can type already almost as fast as i could when using the previous qwerty-based layout i've used for years. And to finish this introductory bit, let me say that Klavaro is a very nice piece of software to help touch-type apprentices measure their progress.
I edited the us-layout so to reflect my current keyboard layout and named it "pt-nativo" accordingly. Adapted ErgoEmacs-mode where needed and am already using it, but only if i have the ERGOEMACS_KEYBOARD_LAYOUT variable defined a priori its execution. I believe i have the data "ErgoEmacs.exe" needs to recognize this layout and set the environment variable for me by means of the output of the following C code:
#include <windows.h>
#include <winuser.h>
#include <stdio.h>
int main(void){
char buf[KL_NAMELENGTH];
printf("GetKeyboardLayoutName(%p) = %d\n", buf, (char) GetKeyboardLayoutName(buf));
printf("%p = %s\n", buf, buf);
printf("kbdcode = %d\n", strtol(buf, NULL, 16) & 0xfffff);
return 0;
}
which consistently prints:
GetKeyboardLayoutName(000000000012fef7) = 1
000000000012fef7 = A0000816
kbdcode = 1048575
I took a look at ErgoEmacs.c and am guessing that this new keyboard layout code overflows the current range supported. But i leave such matters to the competent ones. As a side note, i'm running ErgoEmacs 1.8.1 on Windows 7 64bit.
Beside this, i only dislike the relatively slow startup time for one particular reason: i usually move its window while loading but when it finishes, it resizes and moves again. It's no biggie, just a bit annoying. Curiously, i wanted to see what would the bare mininum be to run ErgoEmacs-mode, so i downloaded the "barebones" version of Emacs 23.2, copied ErgoEmacs-mode, made it load through "site-start.el" and, dependency by dependency, went on copying files to the "lisp" directory until it run. If you care to know, they are: redo.el, delsel.el, easy-mmode.el, help-fns.el, edmacro.el, kmacro.el, cl.el, cl-loaddefs.el, cl-macs.el, bytecomp.el and cl-seq.el.
In the end, i would like you to know that i appreciate your efforts and that ErgoEmacs already means a great deal to me. Attached in a zip file comes my current keyboard layout. In my private setup, i described it as "An adapted portuguese keyboard layout" in "ergoemacs-mode.el".
Another thing i would like to address before leaving this post: this is my first time using such a platform as "Google Code". If this post is misplaced or by any means i did not comply with what was expected, would you care to educate me so i don't make the same mistake again?
Cordial regards, Xavier Pinho.
--
Cordial regards, Xavier Pinho.
--
You received this message because you are subscribed to the Google Groups "ErgoEmacs" group.
To post to this group, send email to ergo...@googlegroups.com.
To unsubscribe from this group, send email to ergoemacs+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/ergoemacs?hl=en.