Ir ao conteúdo
  • Cadastre-se

GlovePIE - Xbox 360 controller - mapeador de teclas


Posts recomendados

  • Moderador

Boa tarde colegas,

 

Hj trago à vocês uma alternativa para o Xpadder ou Joy2Key.

Muita gente fica frustrado porque não consegue jogar seus jogos favoritos no controle.. onde não há uma opção de seta-lo.

A maioria já ouviu falar e usa o mapeador de botões Xpadder certo? em tese, é fácil de mapear o mouse e o teclado.. mas digo que há outra alternativa para eles na qual eu achei melhor e fácil de compreender.

 

GlovePIE

 

É um interpretador mais conhecido como "Program Input Emulator" ,ou seja, programa que emula a entrada.. 

Ele utiliza uma linguagem de programação simples e fácil de entender. 

Com ele é possível mapear o controle de WII( já existe um tópico sobre o wiimote), o controle Xbox 360 e qualquer outro controle.. mas claro cada controle tem sua sintaxe.

 

Estarei Mostrando o exemplo de script para o jogo Diablo 3, mas lembre que pode ser editado e adaptado para qualquer jogo ou até mesmo programas.

 

Script para o diablo 3:

//Set right stick inversion preference (0 = Normal, 1 = Inverted)var.Inverted = 0 
//Set dead zones  (Values between 0 and 1)
var.LdeadX = 0.25
var.LdeadY = 0.25
var.RdeadX = 0.25
var.RdeadY = 0.25 

// Left Stick – Mouse Pointer
// To change the lookspeed, increase or decrease the number preceding the deadzone - default is 20
if Xinput1.Joy1X < -var.RdeadX or Xinput1.Joy1X > var.RdeadX then Mouse.DirectInputX = Mouse.DirectInputX + 30*deadzone(XInput1.Joy1X)

if var.Inverted = 1 then{
   if Xinput1.Joy1Y < -var.RdeadY or Xinput1.Joy1Y > var.RdeadY then Mouse.DirectInputY = Mouse.DirectInputY + 30*deadzone(XInput1.Joy1Y)
   }else{
     if Xinput1.Joy1Y < -var.RdeadY or Xinput1.Joy1Y > var.RdeadY then Mouse.DirectInputY = Mouse.DirectInputY - 30*deadzone(XInput1.Joy1Y)
   } 
   
   // Right Stick – Mouse Pointer
   // To change the lookspeed, increase or decrease the number preceding the deadzone - default is 20
   if Xinput1.Joy2X < -var.RdeadX or Xinput1.Joy2X > var.RdeadX then Mouse.DirectInputX = Mouse.DirectInputX + 30*deadzone(XInput1.Joy2X)
   if var.Inverted = 1 then{
      if Xinput1.Joy2Y < -var.RdeadY or Xinput1.Joy2Y > var.RdeadY then Mouse.DirectInputY = Mouse.DirectInputY + 30*deadzone(XInput1.Joy2Y)
      }else{
       if Xinput1.Joy2Y < -var.RdeadY or Xinput1.Joy2Y > var.RdeadY then Mouse.DirectInputY = Mouse.DirectInputY - 30*deadzone(XInput1.Joy2Y)
       } 
// 360 Bumpers
keyboard.q = XInput1.LeftShoulder
keyboard.shift = XInput1.RightShoulder

//360 Triggers
mouse.LeftButton = XInput1.LeftTrigger
mouse.RightButton = XInput1.RightTrigger

//360 Buttons ABXY
keyboard.1 = XInput1.A
keyboard.3 = XInput1.X
keyboard.4 = XInput1.Y
keyboard.2 = XInput1.B

//360 dPad
keyboard.s = Xinput1.Up
keyboard.i = Xinput1.Right
keyboard.t = Xinput1.Down
keyboard.f = Xinput1.Left

//360 Start and Select
keyboard.esc = XInput1.start
keyboard.g = XInput1.back

//360 Stick Clicks
keyboard.Tab = XInput1.LeftThumb  
keyboard.j = XInput1.RightThumb

Legenda de botões:

 

Analógico Esquerdo e direito - Movimento do mouse

LT - Botão esquerdo do mouse

RT - Botão direito do mouse

LB - Tecla Q (poção de vida)

RB - Tecla Shift(forçar parada para atacar)

A - Habilidade slot 1

B - Habilidade slot 2

X - Habilidade slot 3

Y - Habilidade slot 4

Dpad UP - Árvore de habilidades

Dpad Right - Inventário

Dpad Down - Portal

Dpad Left - Seguidor

Start - Tecla Esc

Back - Acionar Estandarte

Click Analógico esquerdo - Mapa ( tecla tab)

Click Analógico direito  - Jornal de missões 

 

 

 

Como utilizar?

Para rodar o script é preciso baixar o programa abrir... inserir o código,  salvar  e depois clicar no botão Run antes de abrir o jogo/programa.

 

Onde baixar?

Acesse o site do desenvolvedor por este endereço: http://glovepie.org/glovepie.php

 

Documentação e mais exemplos:

 

http://glovepie.org/w/index.php?title=Main_Page

http://glovepie.org/forum/   (Para aprendizado e mais exemplos)

 

 

Jogos que testei e funcionaram perfeitamente:

 

Diablo 1,2 e 3

Age of Empires(todos)

Neverwinter

Tera Online

Path of Exile

Titan Quest/ Immortal throne(DLC)

Age of Wushu

Dragons Prophet

 

 

Programas testados:

VLC Player

Media player classic

Photoshop

 

 

 

Deixarei em aberto para discussões e implementações. Qualquer um é livre para copiar o código estudar e apresentar sua implementação para algum jogo em específico.

 

Att,

 

Dif

 

 

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • 9 meses depois...

Ola Dif, realmente não compreendi o programa,

pois uso diariamente o joytokey, para emular mouse e teclado no controle.

Uso normalmente para jogar minecraft, e funciona muito bem.

Ele (joytokey) substitui meu mouse pois uso meu controle pra navegar pela internet e etc.

 

A unica limitação é o game F-22 Lightning 3, que ignora totalmente a execução do joytokey.

 

A pergunta é já tenho mapeada no joytokey as teclas do F 22, eu consigo converte-las para o GlovePie 

o mapa de teclas?

já que não consegui entender onde edito manualmente as teclas nele...

Obrigado...

Link para o comentário
Compartilhar em outros sites

  • Moderador

@patrick_lm,

 

Como mencionei anteriormente, eu dediquei especialmente para o controle de xbox. não sei direito a sintaxe para outros controles.

Mas o tópico foi bem claro, até arrisco a dizer que se  uma pessoa não entender pelo menos o básico do básico, esta pessoa teria sérios problemas de interpretação.( não estou dizendo sobre você)

 

Vamos por partes:

 

Antes de mais nada você precisa abrir o glovepie, antes do jogo. Nele terá uma tela para você escrever. ( OK isso você deve ter compreendido)

Depois de mapear os controles, salve e deixe-o rodando sem segundo plano( minimize o glovePIE e abra o jogo.

 

Agora como fica o mapeamento de teclas?

simples. Com base no teclado e no controle de Xbox :

//360 Buttons ABXY
keyboard.1 = XInput1.Akeyboard.3 = XInput1.X
keyboard.4 = XInput1.Ykeyboard.2 = XInput1.B

o comando keyboard.1   significa que você está mapeando a tecla número 1 do teclado( aquela acima do "Q")

o comando XInput.A   quer dizer que você está atribuindo alguma função no botão A(verde) do controle X-box.

 

Outro exemplo:

keyboard.q = XInput1.LeftShoulder

Significa que a tecla "Q" do teclado está sendo atribuída ao botão LB do controle 

 

Assim como:

mouse.LeftButton = XInput1.LeftTrigger

onde mouse.LeftButton(botão esquerdo do mouse) é atribuído ao gatilho esquerdo do controle que no caso seria o LT

 

Tá, mas e a palanca? bem a palanca do controle, nem vou explicar pois nunca deve ser mexida. a única coisa que você pode alterar  é o valor do deadzone. Digo isso porque o bloco:

// Left Stick – Mouse Pointer
// To change the lookspeed, increase or decrease the number preceding the deadzone - default is 20
if Xinput1.Joy1X < -var.RdeadX or Xinput1.Joy1X > var.RdeadX then Mouse.DirectInputX = Mouse.DirectInputX + 30*deadzone(XInput1.Joy1X)
if var.Inverted = 1 then{
  if Xinput1.Joy1Y < -var.RdeadY or Xinput1.Joy1Y > var.RdeadY then Mouse.DirectInputY = Mouse.DirectInputY + 30*deadzone(XInput1.Joy1Y)
}else{
  if Xinput1.Joy1Y < -var.RdeadY or Xinput1.Joy1Y > var.RdeadY then Mouse.DirectInputY = Mouse.DirectInputY - 30*deadzone(XInput1.Joy1Y)
} 
// Right Stick – Mouse Pointer// To change the lookspeed, increase or decrease the number preceding the deadzone - default is 20
if Xinput1.Joy2X < -var.RdeadX or Xinput1.Joy2X > var.RdeadX then Mouse.DirectInputX = Mouse.DirectInputX + 30*deadzone(XInput1.Joy2X)
if var.Inverted = 1 then{
  if Xinput1.Joy2Y < -var.RdeadY or Xinput1.Joy2Y > var.RdeadY then Mouse.DirectInputY = Mouse.DirectInputY + 30*deadzone(XInput1.Joy2Y)
}else{
  if Xinput1.Joy2Y < -var.RdeadY or Xinput1.Joy2Y > var.RdeadY then Mouse.DirectInputY = Mouse.DirectInputY - 30*deadzone(XInput1.Joy2Y)
}

é igual para todos os jogos... por isso não tem necessidade de altera-lo

 

Tá e agora como fica para o jogo  F22?

Antes de mais nada,  entre no jogo anote num papel os controles do jogo do teclado. com os dados em mãos.. você abre o glovepie  e mapeia conforme eu mostrei acima

 

para teclado sempre será   keyboard.tecla  = XInput.botão

para mouse sempre será  mouse.botão = XInput.botão 

 

Por exemplo: No jogo F22 Raptor a tecla G do teclado aciona ou recolhe o trem de pouso.

então por exemplo se você quer atribuir esta tecla para o botão Y do controle do x-box ficaria assim:

keyboard.g = XInput.Y

Em tese é muito simples entender como funciona. 

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...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!