2016-09-13 2 views
2

Я знаю, что существует строка String.upper для алфавита, но я ищу версию сдвига, а не буквенную версию, например, «верхний регистр» точки с запятой - это двоеточие. Когда я пытаюсь google, я получаю неуместные результаты о string.upper.Функция верхнего уровня, но не для буквенных символов в LUA?

+0

О, вы говорите о клавиатуре, которую вы и я используем. Может быть, кто-то, кто знает love2d, мог бы сказать, есть ли у него что-то встроенное. –

+0

Вы уверены, что ничего не путаете? Верхний регистр или нижний регистр могут применяться только к символам, которые могут иметь различный случай. Пунктуация не может иметь случая. –

+1

Это зависит от языка. В Великобритании 'with_shift ['2'] == '' '', в US 'with_shift [' 2 '] ==' @ '' –

ответ

6

Я думаю, что лучший способ справиться с этим будет таблица поиска, например:

local with_shift = { 
    ["1"] = "!", 
    ["2"] = "@", 
    ["3"] = "#", 
} 

Я не смог найти существующую таблицу, но я уверен, что она существует где-то ,

0

Если вы используете это для ввода, вы всегда можете проверить, что одновременно нажата клавиша ',' и клавиша shift, а затем выполните любой код, который вы хотите сделать.

Как говорят другие, раскладки клавиатуры не универсальны. Например, на французской клавиатуре вам нужно нажать shift, чтобы получить «1» при нажатии клавиши «1» в строке «верхний» номер (по умолчанию это символы). Ни LÖVE, ни Lua не знают, какие раскладки клавиатуры доступны, и даже если бы они это сделали, вы могли бы использовать индивидуальный (я фактически использую его на своем компьютере).

Смежные вопросы