Как я могу определить поворот экрана на Mac? - PullRequest
3 голосов
/ 19 ноября 2011

Можно ли обнаружить поворот экрана?Я просыпаюсь с драйвером сенсорного экрана на Mac, поэтому я хочу знать, поворачивается ли экран.

Ответы [ 2 ]

0 голосов
/ 24 ноября 2012

Надеюсь, этот HTML будет полезен (ниже и рабочая версия http://jsfiddle.net/b7Efq/)

Также вы можете проверить SeisMac . Они также предоставляют рабочую библиотеку

<html>
<head>

<style>

.angle { height: 100px; } 
#alpha { background-color: red; } 
#beta { background-color: green; } 
#gamma { background-color: blue; } 

</style>

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

<script>

var set_bar = function( id, value ) {
  var max_width = $(window).width();
  $( id ).width( value * max_width );
}

var normalize_angle = function( deg ) {
  var x = ( (deg + 180) / 360 ) % 1.0;
  return (x < 0) ? (x + 1.0) : x;

}

window.addEventListener("deviceorientation", function(event) {
  set_bar( "#alpha", normalize_angle(event.alpha));
  set_bar( "#beta", normalize_angle(event.beta + 180));
  set_bar( "#gamma", normalize_angle(event.gamma));
}, true);

</script>
</head>
<body>

  <div class="angle" id="alpha">&nbsp;</div>
  <div class="angle" id="beta">&nbsp;</div>
  <div class="angle" id="gamma">&nbsp;</div>

</body>
</html>
0 голосов
/ 19 ноября 2011

MacBook (и ThinkPad) имеют акселерометр, используемый для обнаружения внезапного движения (например, падения), чтобы предотвратить падение головки HD.Данные акселерометра предоставляются через API-интерфейсы webkit.

Собственные API-интерфейсы для данных акселерометра предоставляются только через частные интерфейсы Apple-only, но Амит Сингх опубликовал свою документацию по API датчика внезапного движения здесь .

Обратите внимание, что он уже опубликовал бесплатную программу, которая делает то, что вы пытаетесь сделать, под названием SMSRotateD.Он будет поворачивать экран MacBook, когда вы переворачиваете устройство.Есть также классный образец, который имеет «гироскопическое» окно, которое будет оставаться пополняемым при случайном наклоне устройства.

...