와인에서 실행되는 응용 프로그램에 시작 키 입력을 보낼 수있는 방법이 있습니까?


0

간단히 말해서, Shift + Click을 사용하여 응용 프로그램을 실행하는 경우에만 표시되는 Synthesia의 특수 창에 액세스하려고합니다 . 문제는 와인에서 응용 프로그램을 실행하는 동안 Linux에서 이것을 재현하는 방법을 알 수 없다는 것입니다. 나는 그것이 명령 줄 일이라고 생각했지만 그것을 수행하는 명령을 찾을 수 없었습니다.

그것은 저에게 이것을 남겨두고, 심지어 가능합니까? 그렇다면 어떻게?


compiz를 비활성화하십시오 : 시스템> 환경 설정> 모양의 시각 효과 탭에서 없음을 선택하십시오.
harrymc

완료, 이것이 어떻게 도움이되는지 모르겠습니다.
Frontear

익스플로러는 파일을 실행하는 동안 특별한 대우를하지 않습니다. 단순히 실행 파일을 명령으로 실행합니다. 그렇지 않으면 콘솔과 다른 응용 프로그램이 어떻게 실행할 수 있습니까? Shift 키를 눌렀는지 여부를 응용 프로그램에서 알 수 없습니다. 시작한 후에 만 ​​가능합니다
phuclv

정확히는 와인에서 그것을 흉내낼 수있는 방법이 있어야합니까? DE에서 간단한 Shift + 클릭은 여기서 작동하지 않습니다.
Frontear

@phuclv가 말했듯이, Shift 키는 응용 프로그램이 시작되는 방식에 특별하지 않지만 일단 시작되면 응용 프로그램에 특별 합니다 . 즉, 응용 프로그램 시작 코드의 일부는 Shift 키의 상태를 확인합니다.
attie

답변:


0

이 프로그램은 GetKeyStateAPI를 사용 하여 다음과 같이 Shift 키를 감지합니다.

.text:0040D575                 call    ds:GetKeyState
.text:0040D57B                 mov     ecx, 8000h
.text:0040D580                 test    cx, ax
.text:0040D583                 jnz     loc_40E21F   ; jumps to special config dialog show
  1. Synthesia선호하는 이름 (mine :)으로 디렉토리에 bash 스크립트를 생성 runme하고 다음 행을 채우십시오.

    #!/bin/bash
    wine Synthesia.exe
    
  2. 속성을 실행 가능으로 변경하고 bash 스크립트를 chmod +x rumne클릭하여 즉시 실행할 수 있는지 확인하십시오 . 대화 상자를 요구하지 않고 bash 스크립트를 실행하는 것을 의미합니다! 이 답변을 사용

  3. HOLD ShiftKEY 및 실행 / 더블 클릭을 클릭합니다 runme. 프로그램이 정상적으로 실행됩니다! 이제 닫으십시오. 그러나 Shift키를 해제하지 마십시오 . 다시 한 번 클릭 / 두 번 클릭하면 runme특별한 구성 대화 상자가 표시됩니다.

    보여줘!


# 2 대신 " Run "버튼을 클릭 할 때 Shift 키를 길게 누르지 못했 습니까?
attie

바이너리 패치를 수행하고 일반 / 구성 창을 표시하는 플래그를 허용하는 래퍼 스크립트의 보너스 포인트.
attie

Shift 키를 누른 상태에서 묻기 대화 상자에서 클릭 실행 버튼을 테스트했지만 작동하지 않았습니다! 이진 패치를 수행 할 수 있지만 질문은 구성 모드 에서이 응용 프로그램을 실행하는 방법이 아닌 와인에서 시작 키 스트로크를 보내는 방법이었습니다. 알려주세요.
arman

Shift 키를 누른 상태에서 스크립트를 실행할 수없는 것 같습니다. KDE를 실행 중입니다.
Frontear

1
나는 그것을 실행하는 다른 방법을 찾았습니다. 와인에서 Explorer.exe를 호출 한 다음 거기에서 Shift + 클릭하십시오.
Frontear

0

따를 수있는 또 다른 방법은 Explorer.exe와인을 마시고 Shift + Click 작업을 수행하는 것입니다. 위의 방법과 달리 변경 될 특정 설정이나 스크립트에 의존하지 않습니다

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.