decode_single Subroutine

private pure subroutine decode_single(byte, event)

Decode one byte that is not part of an escape sequence.

Arguments

Type IntentOptional Attributes Name
integer(kind=default_int), intent(in) :: byte

iachar value of the byte.

type(key_event_t), intent(out) :: event

Called by

proc~~decode_single~~CalledByGraph proc~decode_single decode_single proc~decode_keys decode_keys proc~decode_keys->proc~decode_single

Source Code

   pure subroutine decode_single(byte, event)
      !! Decode one byte that is not part of an escape sequence.
      integer(default_int), intent(in) :: byte
         !! `iachar` value of the byte.
      type(key_event_t), intent(out) :: event

      event%char_code = 0_int32
      select case (byte)
      case (13, 10)
         event%code = KEY_ENTER
      case (127, 8)
         event%code = KEY_BACKSPACE
      case (9)
         event%code = KEY_TAB
      case (3)
         event%code = KEY_CTRL_C
      case default
         event%code = KEY_CHAR
         event%char_code = int(byte, int32)
      end select
   end subroutine decode_single