Ir ao conteúdo
  • Cadastre-se

c++ - win32 - Alguém me pode explicar a estrutura JOYINFOEX?


Cambalinho

Posts recomendados

Acredito que esse link te ajude.

Ele explica os parâmetros existentes e o seu significado.

 

Att.

 

existem alguns conceitos\definiçoes\caracteristicas do joystick que nao sei e gostava de saber.

- sabem aqueles 2 butoes que funcionam em modo circular? como se chamam estes butoes?

eis a estrutura JOYINFOEX:

typedef struct joyinfoex_tag {  DWORD dwSize;  DWORD dwFlags;  DWORD dwXpos;  DWORD dwYpos;  DWORD dwZpos;  DWORD dwRpos;  DWORD dwUpos;  DWORD dwVpos;  DWORD dwButtons;  DWORD dwButtonNumber;  DWORD dwPOV;  DWORD dwReserved1;  DWORD dwReserved2;} JOYINFOEX;

- o dwSize é para indicar-mos o tamanho da estrutura:

dwSize = sizeof(JOYINFOEX);

- o dwFlags é para indicar qual é o dado que queremos receber... eu prefiro usar a flag JOY_RETURNALL, porque assim posso receber os dados todos;

- alguem me pode explicar os membros  dwXpos, dwYpos, dwZpos, dwRpos, dwUpos, dwVpos? (apesar  dos dwXpos, dwYpos serem para as direcçoes);

- o dwButtons é para indicar o estados butoes em forma de bits;

- o dwButtonNumber é para indicar quantos butoes estão pressionados no memento;

- o que é o dwPOV?

Link para o comentário
Compartilhar em outros sites

Acredito que esse link te ajude.

Ele explica os parâmetros existentes e o seu significado.

 

Att.

desculpa, mas isso é o mesmo que o site do MSDN :(

o que precisava(depois de tanto esforço) era o layout do joystick:

 

https://onedrive.live.com/?cid=C3EF456E15C8DEB6&id=C3EF456E15C8DEB6!1259&v=3

 

o Hat é o POV. para ser activado o LED do Analog tem de estar a vermelho.

outra coisa, eu tenho os pontos X,Y e 1 centro C... como posso obter a angulo com estes dados?

eu tenho esta formula, mas estou a obter resultados incorrectos :(

inst->Text=to_string((int)atan2((b.dwXpos-32511),(b.dwYpos-32511))*(180/PI));

a frase é imprimida... mas o resultado esta incorrecto :(

 

eu estou a usar esta formula:

result = atan2 (y-c,x-c) * 180 / PI;

por favor me digam se estou errado

(observaçao eu obtenho só 2 diferentes valores)

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...