In the stock Nook, the four hard keys generate four scan codes.
Using /system/usr/keylayout/TWL4030_Keypad.kl these four scan codes are mapped into four key codes.
In /system/app/Reader.apk these four keycodes are mapped into two operations: next and previous page.
There is no reason at all to use four keycodes.
The standard keycode for KEYCODE_PAGE_UP is 92.
The standard keycode for KEYCODE_PAGE_DOWN is 93.
Assign the hard keys how you want them.
If you want two up buttons and two down, do it that way.
If you want down, up, menu, back, do that.
For apps besides Reader.apk you will be generating normal page up/page down keys.
Reader.apk fortunately does not require modification, simply set the preference as above to get the sense of up/down correct.
I have my Nook set up like this and paging works fine on OI File Manager, AndChat, K-9 Mail.
Code:
# Layout file for Nook Touch hardware buttons
key 412 LEFT_NEXTPAGE # Upper left
key 407 LEFT_PREVPAGE # Upper right
key 139 BACK # Lower left
key 158 MENU # Lower right
This is what I have for Upper left = Page up, Upper right = Page down, Lower left = Back, Lower right = Menu.
(Yes, the names in the file are "backwards" from what you would think.)
Note: Opera is ignorant. It doesn't do
anything for page up/page down keys.
This has been noted and complained about bitterly on the internet.