diff --git a/ase/patches/060-fix-zoom-keys.patch b/ase/patches/060-fix-zoom-keys.patch new file mode 100644 index 0000000..2434b1b --- /dev/null +++ b/ase/patches/060-fix-zoom-keys.patch @@ -0,0 +1,81 @@ +Index: ase-0.8.2/src/widgets/editor/keys.cpp +=================================================================== +--- ase-0.8.2.orig/src/widgets/editor/keys.cpp 2011-06-16 21:04:19.000000000 +0200 ++++ ase-0.8.2/src/widgets/editor/keys.cpp 2011-06-16 22:05:01.000000000 +0200 +@@ -16,6 +16,11 @@ + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + */ + ++#define DEBUGMODE ++#define PREFIX_I "keys INFO: " ++#define PREFIX_W "keys WARNING: " ++#define PREFIX_E "keys ERROR: " ++ + #include "config.h" + + #include +@@ -36,8 +41,11 @@ + #include "widgets/colbar.h" + #include "widgets/editor.h" + +-bool Editor::editor_keys_toset_zoom(int scancode) ++bool Editor::editor_keys_toset_zoom(int scancode, int ascii) + { ++ TRACE(PREFIX_I "editor_keys_toset_zoom %i, '%c'; %i, %i; %i.\n", scancode, ascii, ++ (int)!!m_sprite, (int)this->hasMouse(), (int)key_shifts); ++ + if ((m_sprite) && + (this->hasMouse()) && + !(key_shifts & (KB_SHIFT_FLAG | KB_CTRL_FLAG | KB_ALT_FLAG))) { +@@ -49,17 +57,18 @@ + y = 0; + zoom = -1; + +- switch (scancode) { // TODO make these keys configurable +- case KEY_1: zoom = 0; break; +- case KEY_2: zoom = 1; break; +- case KEY_3: zoom = 2; break; +- case KEY_4: zoom = 3; break; +- case KEY_5: zoom = 4; break; +- case KEY_6: zoom = 5; break; ++ switch (ascii) { // TODO make these keys configurable ++ case '1': zoom = 0; break; ++ case '2': zoom = 1; break; ++ case '3': zoom = 2; break; ++ case '4': zoom = 3; break; ++ case '5': zoom = 4; break; ++ case '6': zoom = 5; break; + } + + // Change zoom + if (zoom >= 0) { ++ TRACE(PREFIX_I "setting zoom to %i.\n", zoom); + editor_set_zoom_and_center_in_mouse(zoom, jmouse_x(0), jmouse_y(0)); + return true; + } +Index: ase-0.8.2/src/widgets/editor.h +=================================================================== +--- ase-0.8.2.orig/src/widgets/editor.h 2011-06-16 22:06:26.000000000 +0200 ++++ ase-0.8.2/src/widgets/editor.h 2011-06-16 22:06:30.000000000 +0200 +@@ -180,7 +180,7 @@ + + // keys.c + +- bool editor_keys_toset_zoom(int scancode); ++ bool editor_keys_toset_zoom(int scancode, int ascii); + + public: + +Index: ase-0.8.2/src/widgets/editor/editor.cpp +=================================================================== +--- ase-0.8.2.orig/src/widgets/editor/editor.cpp 2011-06-16 22:03:22.000000000 +0200 ++++ ase-0.8.2/src/widgets/editor/editor.cpp 2011-06-16 22:07:35.000000000 +0200 +@@ -1318,7 +1318,7 @@ + case JM_KEYPRESSED: + if (m_state == EDITOR_STATE_STANDBY || + m_state == EDITOR_STATE_DRAWING) { +- if (editor_keys_toset_zoom(msg->key.scancode)) ++ if (editor_keys_toset_zoom(msg->key.scancode, msg->key.ascii)) + return true; + } + diff --git a/ase/patches/070-ignore-nanonote-fn-key.patch b/ase/patches/070-ignore-nanonote-fn-key.patch new file mode 100644 index 0000000..b0edccc --- /dev/null +++ b/ase/patches/070-ignore-nanonote-fn-key.patch @@ -0,0 +1,24 @@ +Index: ase-0.8.2/src/widgets/editor/editor.cpp +=================================================================== +--- ase-0.8.2.orig/src/widgets/editor/editor.cpp 2011-06-16 21:41:31.000000000 +0200 ++++ ase-0.8.2/src/widgets/editor/editor.cpp 2011-06-16 21:42:02.000000000 +0200 +@@ -1331,7 +1331,8 @@ + editor_setcursor(jmouse_x(0), jmouse_y(0)); + return true; + +- case KEY_LCONTROL: ++ /* on nanonote, lcontrol is the 'Fn' key used to type in numbers */ ++ // case KEY_LCONTROL: + case KEY_RCONTROL: + // If the user press the CTRL key when he is dragging pixels (but not pressing the mouse buttons)... + if (!m_ctrl_pressed && !jmouse_b(0) && m_pixelsMovement) { +@@ -1367,7 +1368,8 @@ + } + break; + +- case KEY_LCONTROL: ++ /* on nanonote, lcontrol is the 'Fn' key used to type in numbers */ ++ // case KEY_LCONTROL: + case KEY_RCONTROL: + if (m_ctrl_pressed) { + m_ctrl_pressed = false;