Я писал небольшой макрос, который должен был циклически перемещаться по моим огневым группам, пока я стрелял гауссом вместо гаусса-гатлинга. Я, конечно, мог бы использовать уже доступный инструмент, но я предпочел попробовать что-то сам. Однако во время тестирования я открыл редактор и проверил, будет ли программа постоянно нажимать «N», пока нажата кнопка запуска на моем джойстике, и я был рад видеть, что это работало, даже когда приложение работало в фоновом режиме. Однако затем началась Elite Dangerous, мой корабль вывели из штаб-квартиры, и программа просто не стала делать то, что должна была делать. Я проверил:
- я назначил правую кнопку для циклического переключения групп огня и
- как только я переключаюсь на другое приложение, например редактор, оно снова работает отлично.
Это означает, что программа как будто блокирует показания джойстика, когда окно игры находится в фокусе.
Код:
/>JoystickMonitor.xaml.cs
using GamepadInterfaces.KeyboardAndMouse;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using Windows.Gaming.Input;
namespace GamepadInterfaces
{
///
/// Interaktionslogik für JoystickMonitor.xaml
///
public partial class JoystickMonitor : Window
{
private GatlingGaussMakro GaussMakro;
private SimpleBackgroundLoop GatlingGaussLoop;
private SimpleBackgroundLoop BackgroundLoop;
private RawGameController GameController;
private bool[] ButtonStateList;
private double[] AxisStateList;
private ObservableCollection ObservableButtonStates;
private ObservableCollection ObservableAxisStates;
public JoystickMonitor(RawGameController controller)
{
InitializeComponent();
GaussMakro = new GatlingGaussMakro(TimeSpan.FromMilliseconds(750), GetCodeForFireGroupButton());
GameController = controller;
BackgroundLoop = new SimpleBackgroundLoop();
GatlingGaussLoop = new SimpleBackgroundLoop();
ButtonStateList = new bool[GameController.ButtonCount];
AxisStateList = new double[GameController.AxisCount];
ObservableButtonStates = new ObservableCollection();
ObservableAxisStates = new ObservableCollection();
lvButtons.ItemsSource = ObservableButtonStates;
lvAxises.ItemsSource = ObservableAxisStates;
GatlingGaussLoop.Run(CallGatlingGaussMakro);
Thread.Sleep(200);
//BackgroundLoop.Run(UpdateLists);
}
private object CallGatlingGaussMakro()
{
GameController.GetCurrentReading(ButtonStateList, new GameControllerSwitchPosition[GameController.SwitchCount], AxisStateList);
GaussMakro.Activate(ButtonStateList[0]);
return null;
}
/// Some Code redacted for Stackoverflow
}
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... cused-wind
Gaming.Input не читает мои джойстики, в то время как Elite Dangerous является сфокусированным окном, но отлично работает ⇐ C#
Место общения программистов C#
1771511238
Anonymous
Я писал небольшой макрос, который должен был циклически перемещаться по моим огневым группам, пока я стрелял гауссом вместо гаусса-гатлинга. Я, конечно, мог бы использовать уже доступный инструмент, но я предпочел попробовать что-то сам. Однако во время тестирования я открыл редактор и проверил, будет ли программа постоянно нажимать «N», пока нажата кнопка запуска на моем джойстике, и я был рад видеть, что это работало, даже когда приложение работало в фоновом режиме. Однако затем началась Elite Dangerous, мой корабль вывели из штаб-квартиры, и программа просто не стала делать то, что должна была делать. Я проверил:
- я назначил правую кнопку для циклического переключения групп огня и
- как только я переключаюсь на другое приложение, например редактор, оно снова работает отлично.
Это означает, что программа как будто блокирует показания джойстика, когда окно игры находится в фокусе.
Код:
/>JoystickMonitor.xaml.cs
using GamepadInterfaces.KeyboardAndMouse;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Text;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;
using Windows.Gaming.Input;
namespace GamepadInterfaces
{
///
/// Interaktionslogik für JoystickMonitor.xaml
///
public partial class JoystickMonitor : Window
{
private GatlingGaussMakro GaussMakro;
private SimpleBackgroundLoop GatlingGaussLoop;
private SimpleBackgroundLoop BackgroundLoop;
private RawGameController GameController;
private bool[] ButtonStateList;
private double[] AxisStateList;
private ObservableCollection ObservableButtonStates;
private ObservableCollection ObservableAxisStates;
public JoystickMonitor(RawGameController controller)
{
InitializeComponent();
GaussMakro = new GatlingGaussMakro(TimeSpan.FromMilliseconds(750), GetCodeForFireGroupButton());
GameController = controller;
BackgroundLoop = new SimpleBackgroundLoop();
GatlingGaussLoop = new SimpleBackgroundLoop();
ButtonStateList = new bool[GameController.ButtonCount];
AxisStateList = new double[GameController.AxisCount];
ObservableButtonStates = new ObservableCollection();
ObservableAxisStates = new ObservableCollection();
lvButtons.ItemsSource = ObservableButtonStates;
lvAxises.ItemsSource = ObservableAxisStates;
GatlingGaussLoop.Run(CallGatlingGaussMakro);
Thread.Sleep(200);
//BackgroundLoop.Run(UpdateLists);
}
private object CallGatlingGaussMakro()
{
GameController.GetCurrentReading(ButtonStateList, new GameControllerSwitchPosition[GameController.SwitchCount], AxisStateList);
GaussMakro.Activate(ButtonStateList[0]);
return null;
}
/// Some Code redacted for Stackoverflow
}
}
Подробнее здесь: [url]https://stackoverflow.com/questions/79892280/gaming-input-doesnt-read-my-joysticks-while-elite-dangerous-is-the-focused-wind[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия