如何将FF_CONSTANT用于Linux的强制反馈?

问题描述

我无法利用FF_CONSTANT的强制效果。我的尝试代码是:

struct ff_effect joy_effect_,joy_effect_2;
if (iwantconstantforce)
    {
      joy_effect_.id = -1;
      joy_effect_.type = FF_CONSTANT;
      joy_effect_.direction = 0x0000;  // down
      joy_effect_.replay.length = 100;
      joy_effect_.replay.delay = 0;

      joy_effect_.trigger.button = 0;
      joy_effect_.trigger.interval = 100;

      joy_effect_.u.constant.level = 65535;
      joy_effect_.u.constant.envelope.attack_length = joy_effect_.replay.length / 10;
      joy_effect_.u.constant.envelope.fade_length = joy_effect_.replay.length / 10;

      joy_effect_.u.constant.envelope.attack_level = joy_effect_.u.constant.level / 10;
      joy_effect_.u.constant.envelope.fade_level = joy_effect_.u.constant.level / 10;
    }

我可以使用以下代码产生FF_SPRING和FF_DAMPER效果。

if (youwantdampereffect)
    {
      joy_effect_.id = -1;
      joy_effect_.direction = 0;  // down
      joy_effect_.type = FF_DAMPER;
      joy_effect_.replay.length = 20;
      joy_effect_.replay.delay = 0;
      
      joy_effect_.u.condition[0].right_saturation = 65535;
      joy_effect_.u.condition[0].left_saturation = 65535;
      joy_effect_.u.condition[0].right_coeff = 65535 / 2;
      joy_effect_.u.condition[0].left_coeff = 65535 / 2;
      joy_effect_.u.condition[0].deadband = 0;
      joy_effect_.u.condition[0].center = 0;

      int ret = ioctl(ff_fd_,EVIOCSFF,&joy_effect_);        // upload the effect
    }

    if (youwantspringeffect)
    {
      joy_effect_2.id = -1;
      joy_effect_2.direction = 0;  // down
      joy_effect_2.type = FF_SPRING;
      joy_effect_2.replay.length = 20;
      joy_effect_2.replay.delay = 0;

      joy_effect_2.u.condition[0].right_saturation = 65535 / 2;
      joy_effect_2.u.condition[0].left_saturation = 65535 / 2;
      joy_effect_2.u.condition[0].right_coeff = 32767;
      joy_effect_2.u.condition[0].left_coeff = 32767;
      joy_effect_2.u.condition[0].deadband = 0;
      joy_effect_2.u.condition[0].center = 0;

      int ret = ioctl(ff_fd_,&joy_effect_2);        // upload the effect
    }

我找不到有关恒力效果感觉如何或何时使用它的任何信息。 有人可以介绍一下它的重要性和用法吗?

谢谢:)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)