Код игрового планшета OS X: Buh?

Вы должны заметить, что APPLICATION_ROOT для этой цели НЕ.

Все, что вам нужно сделать, это написать промежуточное программное обеспечение для внесения следующих изменений:

  1. измените PATH_INFO, чтобы обработать префикс url.
  2. изменить SCRIPT_NAME, чтобы сгенерировать префиксный URL.

Как это:

class PrefixMiddleware(object):

    def __init__(self, app, prefix=''):
        self.app = app
        self.prefix = prefix

    def __call__(self, environ, start_response):

        if environ['PATH_INFO'].startswith(self.prefix):
            environ['PATH_INFO'] = environ['PATH_INFO'][len(self.prefix):]
            environ['SCRIPT_NAME'] = self.prefix
            return self.app(environ, start_response)
        else:
            start_response('404', [('Content-Type', 'text/plain')])
            return ["This url does not belong to the app.".encode()]

Оберните свое приложение с помощью промежуточного программного обеспечения, например:

from flask import Flask, url_for

app = Flask(__name__)
app.debug = True
app.wsgi_app = PrefixMiddleware(app.wsgi_app, prefix='/foo')


@app.route('/bar')
def bar():
    return "The URL for this page is {}".format(url_for('bar'))


if __name__ == '__main__':
    app.run('0.0.0.0', 9010)

Посетите http://localhost:9010/foo/bar,

Вы получите правильный результат: The URL for this page is /foo/bar

И не забудьте установить домен cookie, если вам нужно.

Это решение задано gist Larivact. APPLICATION_ROOT не для этой работы, хотя похоже, что это так. Это действительно запутанно.

9
задан Joel Coehoorn 7 December 2011 в 08:28
поделиться

4 ответа

Оказывается, что ответ был HID_Utilities Apple, который (несколько) упрощает задание того, чтобы говорить с менеджером по HID.

John Carmack действительно попал в точку, когда он сказал, что Apple не заботится об играх...

2
ответ дан 3 November 2019 в 05:39
поделиться

Проверьте менеджера по HID, особенно новые API менеджера по HID в Leopard. Это является несколько подробным, но сущность его - то, что можно получить обратные вызовы, когда устройства присоединяются и отсоединяются и получают обратные вызовы, когда события от тех устройств ставятся в очередь.

Если Вы работаете с Какао, у Dave Dribin есть DDHidLib, который предоставляет более хорошему Objective C API на менеджере по HID и работает на Tiger также.

3
ответ дан 3 November 2019 в 05:39
поделиться

Самый быстрый способ получить события игрового планшета на OSX состоит в том, чтобы использовать SDL, игровую библиотеку. Вы не должны пользоваться целой библиотекой, Вы можете просто init подсистема джойстика и затем опрашивать или ожидать событий SDL_JOYAXISMOTION и SDL_JOYBUTTONUP/DOWN. SDL имеет лицензию LGPL, таким образом, можно динамично связаться с ним в небесплатной игре.

Легкий!

2
ответ дан 3 November 2019 в 05:39
поделиться

Никакой код, но связывающийся с игровыми планшетами и т.п. не довольно прост с механизмом InputSprocket. Какова была точная проблема, которую Вы имели?

-1
ответ дан 3 November 2019 в 05:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: