Mercurial > hg > orthanc-stone
comparison Platforms/Wasm/Defaults.cpp @ 327:8716176ff7f0 am-2
added support for arrow keys
author | am@osimis.io |
---|---|
date | Tue, 16 Oct 2018 15:25:21 +0200 |
parents | 14ef1227120f |
children | 6cc3ce74dc05 |
comparison
equal
deleted
inserted
replaced
326:612238b3f3e8 | 327:8716176ff7f0 |
---|---|
217 { | 217 { |
218 viewport->MouseMove(x, y); | 218 viewport->MouseMove(x, y); |
219 } | 219 } |
220 | 220 |
221 void EMSCRIPTEN_KEEPALIVE ViewportKeyPressed(ViewportHandle viewport, | 221 void EMSCRIPTEN_KEEPALIVE ViewportKeyPressed(ViewportHandle viewport, |
222 const char* key, | 222 int key, |
223 const char* keyChar, | |
223 bool isShiftPressed, | 224 bool isShiftPressed, |
224 bool isControlPressed, | 225 bool isControlPressed, |
225 bool isAltPressed) | 226 bool isAltPressed) |
226 | 227 |
227 { | 228 { |
233 modifiers = static_cast<OrthancStone::KeyboardModifiers>(modifiers + OrthancStone::KeyboardModifiers_Control); | 234 modifiers = static_cast<OrthancStone::KeyboardModifiers>(modifiers + OrthancStone::KeyboardModifiers_Control); |
234 } | 235 } |
235 if (isAltPressed) { | 236 if (isAltPressed) { |
236 modifiers = static_cast<OrthancStone::KeyboardModifiers>(modifiers + OrthancStone::KeyboardModifiers_Alt); | 237 modifiers = static_cast<OrthancStone::KeyboardModifiers>(modifiers + OrthancStone::KeyboardModifiers_Alt); |
237 } | 238 } |
238 printf("key pressed : %c\n", key[0]); | 239 |
239 viewport->KeyPressed(key[0], modifiers); | 240 char c = 0; |
241 if (keyChar != NULL && key == OrthancStone::KeyboardKeys_Generic) { | |
242 c = keyChar[0]; | |
243 } | |
244 viewport->KeyPressed(static_cast<OrthancStone::KeyboardKeys>(key), c, modifiers); | |
240 } | 245 } |
241 | 246 |
242 | 247 |
243 void EMSCRIPTEN_KEEPALIVE ViewportMouseUp(ViewportHandle viewport) | 248 void EMSCRIPTEN_KEEPALIVE ViewportMouseUp(ViewportHandle viewport) |
244 { | 249 { |