From 22ac59d80ea47b2f75db835dd29471f75ad661ee Mon Sep 17 00:00:00 2001 From: McCabe Maxsted Date: Wed, 8 Sep 2010 20:51:22 -0700 Subject: Port from Emerald: allow any key for gestures --- linden/indra/newview/llpreviewgesture.cpp | 26 +++++++++++++++++++++++--- 1 file changed, 23 insertions(+), 3 deletions(-) (limited to 'linden/indra') diff --git a/linden/indra/newview/llpreviewgesture.cpp b/linden/indra/newview/llpreviewgesture.cpp index ff3b943..ee1b634 100644 --- a/linden/indra/newview/llpreviewgesture.cpp +++ b/linden/indra/newview/llpreviewgesture.cpp @@ -564,14 +564,34 @@ void LLPreviewGesture::addModifiers() combo->setCurrentByIndex(0); } +std::string magic_key(KEY key) +{ + char buffer[2]; /* Flawfinder: ignore */ + buffer[0] = key; + buffer[1] = '\0'; + std::string res = std::string(buffer); + std::string lolk = LLKeyboard::stringFromKey(key); + if(res == lolk) + { + if( key >= ' ' && key <= '~' ) + { + return lolk; + }else + { + return ""; + } + } + return lolk; +} void LLPreviewGesture::addKeys() { LLComboBox* combo = mKeyCombo; combo->add( NONE_LABEL ); - for (KEY key = KEY_F2; key <= KEY_F12; key++) + for (KEY key = ' '; key < KEY_NONE; key++) { - combo->add( LLKeyboard::stringFromKey(key), ADD_BOTTOM ); + std::string keystr = magic_key(key); + if(keystr != "")combo->add( keystr, ADD_BOTTOM ); } combo->setCurrentByIndex(0); } @@ -1238,7 +1258,7 @@ void LLPreviewGesture::onSaveComplete(const LLUUID& asset_uuid, void* user_data, else { llwarns << "Inventory item for gesture " << info->mItemUUID - << " is no longer in agent inventory." << llendl + << " is no longer in agent inventory." << llendl; } } else -- cgit v1.1