-
Notifications
You must be signed in to change notification settings - Fork 18
Description
I'm trying to add another Physical keyboard "model" to Typing. I am trying to add an ISO keyboard. Following up on #16
Directions for this are provided in README.md. Never-the-less, I still have some questions.
- I have been looking at the iPhone layout as a sort of model for adding another keyboard layout. The iphone layout is in the code base but seems to be undocumented in the application documentation as an option. No doubt with intent. to that end I make the following comments and observations:
tools.c @ line 61-64 seem to not list iPhone. This makes me confused in the case of step number 4 in the README.md file, where it says to add:
strcpy(keysToInclude, DEFAULT_KEYBOARD_BINARY);
but I think what I would want to add would be something more like the following, am I correct on this?
else if (fullKeyboard == K_IPHONE) strcpy(keysToInclude, DEFAULT_KEYBOARD_IPHONE);
else if (fullKeyboard == K_ISO) strcpy(keysToInclude, DEFAULT_KEYBOARD_ISO);
I am also confused because it seems that the directions in step 4 suggest to add the content in the function initKeyboardData(); , but if I add my above suggested lines at about line 63 then two lines later is where initKeyboardData(); is called. Are the instructions meant to say initData() instead of initKeyboardData(); ?
-
is it the nature of the arrays for
fingerCopy,rowCopy,homeRow,handCopy,isCenterCopy,isOutsideCopy,printItCopy,indicesCopy, that they need to be of equal lengths? that is the ISO keyboard layout would ordinarily just add a key to the row above the thumb row (row A in ISO9995 parlance) and move key D13 to the C12 position. Do I need to add values to each row in the array to keep them "happy" (all the same length), or can I just add one value in each array on the row which corresponds to the row above row 3? -
Tools.h @ line 66-68 does not have an iPhone layout defined Why? Does this mean I do not add an ISO layout mention at this position?
-
In Tools.c, near the end, kbdFilename is NULL for K_IPHONE:
case K_IPHONE:
ksize = 30;
trueksize = 26;
kbdFilename = NULL;
break;
The instructions in the README.md don't exactly suggest what needs to be done with regards to the value of kbdFilename, or trueksize. Should I follow the pattern set forth by K_NO and K_Standard?