Example #1
0
int
mon_getchar(void)
{
	int	ret;

	BLOCKING_MONLOCK();
	ret = _getchar();
	BLOCKING_MONUNLOCK();
	return(ret);
}
Example #2
0
static char *_gets(int fd, char *buf, int len)
{
	int ch, i = 0;

	while (i < len) {
		if ((ch = _getchar(fd)) == EOF && i == 0)
			return NULL;
		if (ch == '\n' || ch == '\r')
			break;
		buf[i++] = ch;
	}
	buf[i] = 0;
	return buf;
}
Example #3
0
/**
 * Menu principal do programa, no qual o usuário pode escolher a operação a ser realizada
 * @param db:	ponteiro para database
 * @return: 	0 caso o usuário deseja sair do programa
				1 caso contrário	
*/
int menu_principal(database_t *db){
	char opcao;

	titulo("_");

	//Opções do menu
	#ifdef MENU_IU
		printf("1. Inserir usuário\n");
		printf("2. Remover usuário\n");
		printf("3. Pesquisar usuário\n");
		printf("4. Buscar gostos musicais semelhantes\n");
		printf("5. Buscar usuários mais jovens\n");
		printf("6. Buscar gêneros mais populares\n");
		printf("7. Buscar usuários por idade e gênero\n");
		printf("8. Fechar o programa\n");
	#endif // MENU_IU

	//opcao recebe a escolha do usuário
	opcao = _getchar();
	
	//Vai para a operação desejada
	switch(opcao){
		case '1':
			menu_1(db);
			return 1;
		case '2':
			menu_2(db);
			return 1;
		case '3':
			menu_3(db);
			return 1;
		case '4':
			menu_4(db);
			return 1;
		case '5':
			menu_5(db);
			return 1;
		case '6':
			menu_6(db);
			return 1;
		case '7':
			menu_7(db);
			return 1;
		case '8':		//Ao retornar 0, sai do while na main
			return 0;
		default:		//Se o caracter for inválido, volta ao menu principal
			return 1;
	}
}
Example #4
0
static char *_gets(char *buf, int len) {
    int ch, i = 0;

    while (i < len) {
        if ((ch = _getchar()) == EOF && i == 0)
            return NULL;
#if 0
        if (ch >= ' ')
            _putchar(ch);
        else {
            _putchar('^');
            _putchar(ch + '@');
        }
#endif
        if ((ch == 'C' & 037) || (ch == 'Z' & 037))
            return NULL;
        if (ch == '\n' || ch == '\r')
            break;
        buf[i++] = ch;
    }
    buf[i] = 0;
    return buf;
}
Example #5
0
/**
 * Get a key
 * @param ed
 * @return
 */
int getkey(editor_t *ed)
  {
  int ch;
  int shift;
  int ctrl;

  ch = _getchar(ed);

  if (ch < 0)
    return ch;

  switch (ch)
    {
    case 0x08:
      return KEY_BACKSPACE;
    case 0x09:
      get_modifier_keys(&shift, &ctrl);
      if (shift)
        return KEY_SHIFT_TAB;
      if (ctrl)
        return KEY_CTRL_TAB;
      return KEY_TAB;
    case 0x0D:
      return KEY_ENTER;
    case 0x0A:
      return KEY_ENTER;
    case 0x1B:
      ch = _getchar(ed);
      switch (ch)
        {
        case 0x1B:
          return KEY_ESC;
        case 0x4F:
          ch = _getchar(ed);
          switch (ch)
            {
            case 0x46:
              return KEY_END;
            case 0x48:
              return KEY_HOME;
            case 0x50:
              return KEY_F1;
            case 0x52:
              return KEY_F3;
            case 0x54:
              return KEY_F5;
            default:
              return KEY_UNKNOWN;
            }
          break;

        case 0x5B:
          get_modifier_keys(&shift, &ctrl);
          ch = _getchar(ed);
          if (ch == 0x31)
            {
            ch = _getchar(ed);
            switch (ch)
              {
              case 0x3B:
                ch = _getchar(ed);
                if (ch == 0x32)
                  shift = 1;
                if (ch == 0x35)
                  ctrl = 1;
                if (ch == 0x36)
                  shift = ctrl = 1;
                ch = _getchar(ed);
                break;
              case 0x35:
                return
                  _getchar(ed)  == 0x7E ? KEY_F5 : KEY_UNKNOWN;
              case 0x7E:
                if (shift && ctrl)
                  return KEY_SHIFT_CTRL_HOME;
                if (shift)
                  return KEY_SHIFT_HOME;
                if (ctrl)
                  return KEY_CTRL_HOME;
                return KEY_HOME;
              default:
                return KEY_UNKNOWN;
              }
            }

          switch (ch)
            {
            case 0x31:
              if (_getchar(ed) != 0x7E)
                return KEY_UNKNOWN;
              if (shift && ctrl)
                return KEY_SHIFT_CTRL_HOME;
              if (shift)
                return KEY_SHIFT_HOME;
              if (ctrl)
                return KEY_CTRL_HOME;
              return KEY_HOME;
            case 0x32:
              return _getchar(ed) == 0x7E ? KEY_INS: KEY_UNKNOWN;
            case 0x33:
              return _getchar(ed) == 0x7E ? KEY_DEL: KEY_UNKNOWN;
            case 0x34:
              if (_getchar(ed) != 0x7E)
                return KEY_UNKNOWN;
              if (shift && ctrl)
                return KEY_SHIFT_CTRL_END;
              if (shift)
                return KEY_SHIFT_END;
              if (ctrl)
                return KEY_CTRL_END;
              return KEY_END;
            case 0x35:
              if (_getchar(ed) != 0x7E) return KEY_UNKNOWN;
              if (shift) return KEY_SHIFT_PGUP;
              return KEY_PGUP;
            case 0x36:
              if (_getchar(ed) != 0x7E) return KEY_UNKNOWN;
              if (shift) return KEY_SHIFT_PGDN;
              return KEY_PGDN;
            case 0x41:
              if (shift && ctrl)
                return KEY_SHIFT_CTRL_UP;
              if (shift)
                return KEY_SHIFT_UP;
              if (ctrl)
                return KEY_CTRL_UP;
              return KEY_UP;
            case 0x42:
              if (shift && ctrl)
                return KEY_SHIFT_CTRL_DOWN;
              if (shift)
                return KEY_SHIFT_DOWN;
              if (ctrl)
                return KEY_CTRL_DOWN;
              return KEY_DOWN;
            case 0x43:
              if (shift && ctrl)
                return KEY_SHIFT_CTRL_RIGHT;
              if (shift)
                return KEY_SHIFT_RIGHT;
              if (ctrl)
                return KEY_CTRL_RIGHT;
              return KEY_RIGHT;
            case 0x44:
              if (shift && ctrl)
                return KEY_SHIFT_CTRL_LEFT;
              if (shift)
                return KEY_SHIFT_LEFT;
              if (ctrl)
                return KEY_CTRL_LEFT;
              return KEY_LEFT;
            case 0x46:
              if (shift && ctrl)
                return KEY_SHIFT_CTRL_END;
              if (shift)
                return KEY_SHIFT_END;
              if (ctrl)
                return KEY_CTRL_END;
              return KEY_END;
            case 0x48:
              if (shift && ctrl)
                return KEY_SHIFT_CTRL_HOME;
              if (shift)
                return KEY_SHIFT_HOME;
              if (ctrl)
                return KEY_CTRL_HOME;
              return KEY_HOME;
            case 0x5A:
              return KEY_SHIFT_TAB;
            case 0x5B:
              ch = _getchar(ed);
              switch (ch)
                {
                case 0x41:
                  return KEY_F1;
                case 0x43:
                  return KEY_F3;
                case 0x45:
                  return KEY_F5;
                }
              return KEY_UNKNOWN;

            default:
              return KEY_UNKNOWN;
            }
          break;

        default:
          return KEY_UNKNOWN;
        }
      break;

    case 0x00:
    case 0xE0:
      ch = _getchar(ed);
      switch (ch)
        {
        case 0x0F:
          return KEY_SHIFT_TAB;
        case 0x3B:
          return KEY_F1;
        case 0x3D:
          return KEY_F3;
        case 0x3F:
          return KEY_F5;
        case 0x47:
          return KEY_HOME;
        case 0x48:
          return KEY_UP;
        case 0x49:
          return KEY_PGUP;
        case 0x4B:
          return KEY_LEFT;
        case 0x4D:
          return KEY_RIGHT;
        case 0x4F:
          return KEY_END;
        case 0x50:
          return KEY_DOWN;
        case 0x51:
          return KEY_PGDN;
        case 0x52:
          return KEY_INS;
        case 0x53:
          return KEY_DEL;
        case 0x73:
          return KEY_CTRL_LEFT;
        case 0x74:
          return KEY_CTRL_RIGHT;
        case 0x75:
          return KEY_CTRL_END;
        case 0x77:
          return KEY_CTRL_HOME;
        case 0x8D:
          return KEY_CTRL_UP;
        case 0x91:
          return KEY_CTRL_DOWN;
        case 0x94:
          return KEY_CTRL_TAB;
        case 0xB8:
          return KEY_SHIFT_UP;
        case 0xB7:
          return KEY_SHIFT_HOME;
        case 0xBF:
          return KEY_SHIFT_END;
        case 0xB9:
          return KEY_SHIFT_PGUP;
        case 0xBB:
          return KEY_SHIFT_LEFT;
        case 0xBD:
          return KEY_SHIFT_RIGHT;
        case 0xC0:
          return KEY_SHIFT_DOWN;
        case 0xC1:
          return KEY_SHIFT_PGDN;
        case 0xDB:
          return KEY_SHIFT_CTRL_LEFT;
        case 0xDD:
          return KEY_SHIFT_CTRL_RIGHT;
        case 0xD8:
          return KEY_SHIFT_CTRL_UP;
        case 0xE0:
          return KEY_SHIFT_CTRL_DOWN;
        case 0xD7:
          return KEY_SHIFT_CTRL_HOME;
        case 0xDF:
          return KEY_SHIFT_CTRL_END;

        default:
          return KEY_UNKNOWN;
        }
      break;

    case 0x7F:
      return KEY_BACKSPACE;

    default:
      return ch;
    }
  }
Example #6
0
int ask(editor_t *ed)
  {
  int ch = _getchar(ed);
  return ch == 'y' || ch == 'Y';
  }
Example #7
0
_CODE_ACCESS int getchar(void) { return(_getchar()); }
void loop() {

    static int8_t value=0;
    uint8_t n;

    // blink LED
    for(n=0; n<3; n++)
    {
        ledOn();
        delay(200);
        ledOff();
        delay(200);
    }
    uint8_t row,col;

    // display row an colun test
    initDisplay();
    for(row=0; row<5; row++)
    {
        for(col=0; col<7; col++)
        {

            setRow(row);
            setCol(col);
            delay(100);
        }
    }

    // show hello
    _putchar('H');
    showMatrix(200);
    _putchar('E');
    showMatrix(200);
    _putchar('L');
    showMatrix(400);
    _putchar('O');
    showMatrix(200);


    //**************** key display example ***************************
    do
    {
        n=_getchar();
        value=getKey();
        _putchar(n);
        showLeds(value);
    }
    while(n!='i');

    //**************** key sound display example ***************************
    tone(CH2_SPEAKERPIN, frequencyTable[0],50);
    do
    {
        n=_getchar();
        value=getKey();
        tone(CH2_SPEAKERPIN, frequencyTable[value],50);
        delay(50);
        _putchar(n);
        showLeds(value);
    }
    while(n!='i');

    // key code test
    do
    {
        n=scanKey();
        //initDisplay();
        //setCol(0);
        //setRowPattern(n);
        if(n<0x10)	hex1(n);
        else _putchar('n');
        showLeds(n);
        showMatrix(100);
        //delay(1000);
    } while(n!=HASHKEY);

}
int console_getchar(void)
{
    return _getchar(&charConsole);
}
Example #10
0
int zigbee_getchar(void)
{
    return _getchar(&charZigbee);
}