@@ -988,14 +988,20 @@ function EditField:onInput(keys)
988988 end
989989 end
990990 return not not self .key
991+ elseif keys .CUSTOM_DELETE then
992+ local old = self .text
993+ local del_pos = self .cursor
994+ if del_pos <= # old then
995+ self :setText (old :sub (1 , del_pos - 1 ) .. old :sub (del_pos + 1 ), del_pos )
996+ end
997+ return true
991998 elseif keys ._STRING then
992999 local old = self .text
9931000 if keys ._STRING == 0 then
9941001 -- handle backspace
9951002 local del_pos = self .cursor - 1
9961003 if del_pos > 0 then
997- self :setText (old :sub (1 , del_pos - 1 ) .. old :sub (del_pos + 1 ),
998- del_pos )
1004+ self :setText (old :sub (1 , del_pos - 1 ) .. old :sub (del_pos + 1 ), del_pos )
9991005 end
10001006 else
10011007 local cv = string.char (keys ._STRING )
@@ -1009,23 +1015,22 @@ function EditField:onInput(keys)
10091015 elseif keys .KEYBOARD_CURSOR_LEFT then
10101016 self :setCursor (self .cursor - 1 )
10111017 return true
1012- elseif keys .CUSTOM_CTRL_B then -- back one word
1018+ elseif keys .CUSTOM_CTRL_LEFT then -- back one word
10131019 local _ , prev_word_end = self .text :sub (1 , self .cursor - 1 ):
10141020 find (' .*[%w_%-][^%w_%-]' )
10151021 self :setCursor (prev_word_end or 1 )
10161022 return true
1017- -- commented out until we get HOME key support from DF
1018- -- elseif keys.CUSTOM_CTRL_A then -- home
1019- -- self:setCursor(1)
1020- -- return true
1023+ elseif keys .CUSTOM_HOME then
1024+ self :setCursor (1 )
1025+ return true
10211026 elseif keys .KEYBOARD_CURSOR_RIGHT then
10221027 self :setCursor (self .cursor + 1 )
10231028 return true
1024- elseif keys .CUSTOM_CTRL_F then -- forward one word
1029+ elseif keys .CUSTOM_CTRL_RIGHT then -- forward one word
10251030 local _ ,next_word_start = self .text :find (' [^%w_%-][%w_%-]' , self .cursor )
10261031 self :setCursor (next_word_start )
10271032 return true
1028- elseif keys .CUSTOM_CTRL_E then -- end
1033+ elseif keys .CUSTOM_END then
10291034 self :setCursor ()
10301035 return true
10311036 elseif keys .CUSTOM_CTRL_C then
0 commit comments